classicube_sys\a\rust-classicube-sys\rust-classicube-sys\target\debug\build\classicube-sys-e4185c2d2370c8f8\out/
bindings.rs

1/* automatically generated by rust-bindgen 0.70.1 */
2
3#[repr(C)]
4#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
5pub struct __BindgenBitfieldUnit<Storage> {
6    storage: Storage,
7}
8impl<Storage> __BindgenBitfieldUnit<Storage> {
9    #[inline]
10    pub const fn new(storage: Storage) -> Self {
11        Self { storage }
12    }
13}
14impl<Storage> __BindgenBitfieldUnit<Storage>
15where
16    Storage: AsRef<[u8]> + AsMut<[u8]>,
17{
18    #[inline]
19    pub fn get_bit(&self, index: usize) -> bool {
20        debug_assert!(index / 8 < self.storage.as_ref().len());
21        let byte_index = index / 8;
22        let byte = self.storage.as_ref()[byte_index];
23        let bit_index = if cfg!(target_endian = "big") {
24            7 - (index % 8)
25        } else {
26            index % 8
27        };
28        let mask = 1 << bit_index;
29        byte & mask == mask
30    }
31    #[inline]
32    pub fn set_bit(&mut self, index: usize, val: bool) {
33        debug_assert!(index / 8 < self.storage.as_ref().len());
34        let byte_index = index / 8;
35        let byte = &mut self.storage.as_mut()[byte_index];
36        let bit_index = if cfg!(target_endian = "big") {
37            7 - (index % 8)
38        } else {
39            index % 8
40        };
41        let mask = 1 << bit_index;
42        if val {
43            *byte |= mask;
44        } else {
45            *byte &= !mask;
46        }
47    }
48    #[inline]
49    pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
50        debug_assert!(bit_width <= 64);
51        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
52        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
53        let mut val = 0;
54        for i in 0..(bit_width as usize) {
55            if self.get_bit(i + bit_offset) {
56                let index = if cfg!(target_endian = "big") {
57                    bit_width as usize - 1 - i
58                } else {
59                    i
60                };
61                val |= 1 << index;
62            }
63        }
64        val
65    }
66    #[inline]
67    pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
68        debug_assert!(bit_width <= 64);
69        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
70        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
71        for i in 0..(bit_width as usize) {
72            let mask = 1 << i;
73            let val_bit_is_set = val & mask == mask;
74            let index = if cfg!(target_endian = "big") {
75                bit_width as usize - 1 - i
76            } else {
77                i
78            };
79            self.set_bit(index + bit_offset, val_bit_is_set);
80        }
81    }
82}
83pub const CC_WIN_BACKEND_TERMINAL: u32 = 1;
84pub const CC_WIN_BACKEND_SDL2: u32 = 2;
85pub const CC_WIN_BACKEND_SDL3: u32 = 3;
86pub const CC_WIN_BACKEND_X11: u32 = 4;
87pub const CC_WIN_BACKEND_WIN32: u32 = 5;
88pub const CC_WIN_BACKEND_COCOA: u32 = 6;
89pub const CC_WIN_BACKEND_BEOS: u32 = 7;
90pub const CC_WIN_BACKEND_ANDROID: u32 = 8;
91pub const CC_GFX_BACKEND_SOFTGPU: u32 = 1;
92pub const CC_GFX_BACKEND_GL1: u32 = 2;
93pub const CC_GFX_BACKEND_GL2: u32 = 3;
94pub const CC_GFX_BACKEND_D3D9: u32 = 4;
95pub const CC_GFX_BACKEND_D3D11: u32 = 5;
96pub const CC_GFX_BACKEND_VULKAN: u32 = 6;
97pub const CC_SSL_BACKEND_NONE: u32 = 1;
98pub const CC_SSL_BACKEND_BEARSSL: u32 = 2;
99pub const CC_SSL_BACKEND_SCHANNEL: u32 = 3;
100pub const CC_NET_BACKEND_BUILTIN: u32 = 1;
101pub const CC_NET_BACKEND_LIBCURL: u32 = 2;
102pub const CC_AUD_BACKEND_OPENAL: u32 = 1;
103pub const CC_AUD_BACKEND_WINMM: u32 = 2;
104pub const CC_AUD_BACKEND_OPENSLES: u32 = 3;
105pub const DEFAULT_NET_BACKEND: u32 = 1;
106pub const DEFAULT_SSL_BACKEND: u32 = 3;
107pub const DEFAULT_AUD_BACKEND: u32 = 2;
108pub const DEFAULT_GFX_BACKEND: u32 = 4;
109pub const DEFAULT_WIN_BACKEND: u32 = 5;
110pub const CC_WIN_BACKEND: u32 = 5;
111pub const CC_GFX_BACKEND: u32 = 4;
112pub const CC_SSL_BACKEND: u32 = 3;
113pub const CC_NET_BACKEND: u32 = 1;
114pub const CC_AUD_BACKEND: u32 = 2;
115pub const DEFAULT_SOUNDS_VOLUME: u32 = 100;
116pub const DEFAULT_MUSIC_VOLUME: u32 = 100;
117pub const AUDIO_MAX_BUFFERS: u32 = 4;
118pub const BITMAPCOLOR_B_SHIFT: u32 = 0;
119pub const BITMAPCOLOR_G_SHIFT: u32 = 8;
120pub const BITMAPCOLOR_R_SHIFT: u32 = 16;
121pub const BITMAPCOLOR_A_SHIFT: u32 = 24;
122pub const BITMAPCOLOR_SIZE: u32 = 4;
123pub const BITMAPCOLOR_R_MASK: u32 = 16711680;
124pub const BITMAPCOLOR_G_MASK: u32 = 65280;
125pub const BITMAPCOLOR_B_MASK: u32 = 255;
126pub const BITMAPCOLOR_A_MASK: u32 = 4278190080;
127pub const BITMAPCOLOR_RGB_MASK: u32 = 16777215;
128pub const PNG_SIG_SIZE: u32 = 8;
129pub const PNG_MAX_DIMS: u32 = 32768;
130pub const PACKEDCOL_B_SHIFT: u32 = 0;
131pub const PACKEDCOL_G_SHIFT: u32 = 8;
132pub const PACKEDCOL_R_SHIFT: u32 = 16;
133pub const PACKEDCOL_A_SHIFT: u32 = 24;
134pub const PACKEDCOL_R_MASK: u32 = 16711680;
135pub const PACKEDCOL_G_MASK: u32 = 65280;
136pub const PACKEDCOL_B_MASK: u32 = 255;
137pub const PACKEDCOL_A_MASK: u32 = 4278190080;
138pub const PACKEDCOL_RGB_MASK: u32 = 16777215;
139pub const PACKEDCOL_SHADE_X: f64 = 0.6;
140pub const PACKEDCOL_SHADE_Z: f64 = 0.8;
141pub const PACKEDCOL_SHADE_YMIN: f64 = 0.5;
142pub const GAME_MAX_CMDARGS: u32 = 5;
143pub const GAME_APP_VER: &[u8; 6] = b"1.3.7\0";
144pub const GAME_API_VER: u32 = 1;
145pub const GAME_APP_NAME: &[u8; 17] = b"ClassiCube 1.3.7\0";
146pub const GAME_APP_TITLE: &[u8; 17] = b"ClassiCube 1.3.7\0";
147pub const STRING_SIZE: u32 = 64;
148pub const FILENAME_SIZE: u32 = 260;
149pub const CHUNK_SIZE: u32 = 16;
150pub const HALF_CHUNK_SIZE: u32 = 8;
151pub const CHUNK_SIZE_2: u32 = 256;
152pub const CHUNK_SIZE_3: u32 = 4096;
153pub const CHUNK_MAX: u32 = 15;
154pub const CHUNK_MASK: u32 = 15;
155pub const CHUNK_SHIFT: u32 = 4;
156pub const EXTCHUNK_SIZE: u32 = 18;
157pub const EXTCHUNK_SIZE_2: u32 = 324;
158pub const EXTCHUNK_SIZE_3: u32 = 5832;
159pub const UV2_Scale: f64 = 0.999375;
160pub const GAME_DEF_TICKS: f64 = 0.05;
161pub const GAME_NET_TICKS: f64 = 0.016666666666666666;
162pub const GUI_MAX_CHATLINES: u32 = 30;
163pub const DRAWER2D_MAX_COLORS: u32 = 256;
164pub const SKINS_SERVER: &[u8; 31] = b"http://cdn.classicube.net/skin\0";
165pub const UPDATES_SERVER: &[u8; 33] = b"http://cdn.classicube.net/client\0";
166pub const SERVICES_SERVER: &[u8; 31] = b"https://www.classicube.net/api\0";
167pub const RESOURCE_SERVER: &[u8; 29] = b"http://static.classicube.net\0";
168pub const REGISTERNEW_URL: &[u8; 41] = b"https://www.classicube.net/acc/register/\0";
169pub const DEFAULT_USERNAME: &[u8; 13] = b"Singleplayer\0";
170pub const LIGHT_FLAG_SHADES_FROM_BELOW: u32 = 6;
171pub const CHATLOG_TIME_MASK: u32 = 31;
172pub const COMMAND_FLAG_SINGLEPLAYER_ONLY: u32 = 1;
173pub const COMMAND_FLAG_UNSPLIT_ARGS: u32 = 2;
174pub const INFLATE_MAX_INPUT: u32 = 8192;
175pub const INFLATE_MAX_CODELENS: u32 = 19;
176pub const INFLATE_MAX_LITS: u32 = 288;
177pub const INFLATE_MAX_DISTS: u32 = 32;
178pub const INFLATE_MAX_LITS_DISTS: u32 = 320;
179pub const INFLATE_MAX_BITS: u32 = 16;
180pub const INFLATE_FAST_BITS: u32 = 9;
181pub const INFLATE_FAST_LEN_SHIFT: u32 = 9;
182pub const INFLATE_FAST_VAL_MASK: u32 = 511;
183pub const INFLATE_WINDOW_SIZE: u32 = 32768;
184pub const INFLATE_WINDOW_MASK: u32 = 32767;
185pub const DEFLATE_BLOCK_SIZE: u32 = 16384;
186pub const DEFLATE_BUFFER_SIZE: u32 = 32768;
187pub const DEFLATE_OUT_SIZE: u32 = 8192;
188pub const DEFLATE_HASH_SIZE: u32 = 4096;
189pub const DEFLATE_HASH_MASK: u32 = 4095;
190pub const DRAWER2D_MAX_TEXT_LENGTH: u32 = 256;
191pub const STRING_INT_CHARS: u32 = 24;
192pub const STRINGSBUFFER_BUFFER_DEF_SIZE: u32 = 4096;
193pub const STRINGSBUFFER_FLAGS_DEF_ELEMS: u32 = 256;
194pub const STRINGSBUFFER_DEF_LEN_SHIFT: u32 = 9;
195pub const STRINGSBUFFER_DEF_LEN_MASK: u32 = 511;
196pub const MAX_LOCAL_PLAYERS: u32 = 1;
197pub const MAX_NET_PLAYERS: u32 = 255;
198pub const ENTITY_ADJUSTMENT: f64 = 0.001;
199pub const ENTITIES_MAX_COUNT: u32 = 256;
200pub const ENTITIES_SELF_ID: u32 = 255;
201pub const LU_HAS_POS: u32 = 1;
202pub const LU_HAS_PITCH: u32 = 2;
203pub const LU_HAS_YAW: u32 = 4;
204pub const LU_HAS_ROTX: u32 = 8;
205pub const LU_HAS_ROTZ: u32 = 16;
206pub const LU_POS_MODEMASK: u32 = 96;
207pub const LU_POS_ABSOLUTE_INSTANT: u32 = 0;
208pub const LU_POS_ABSOLUTE_SMOOTH: u32 = 32;
209pub const LU_POS_RELATIVE_SMOOTH: u32 = 64;
210pub const LU_POS_RELATIVE_SHIFT: u32 = 96;
211pub const LU_ORI_INTERPOLATE: u32 = 128;
212pub const SKIN_FETCH_DOWNLOADING: u32 = 1;
213pub const SKIN_FETCH_COMPLETED: u32 = 2;
214pub const ENTITY_FLAG_MODEL_RESTRICTED_SCALE: u32 = 1;
215pub const ENTITY_FLAG_HAS_MODELVB: u32 = 2;
216pub const ENTITY_FLAG_CLASSIC_ADJUST: u32 = 4;
217pub const TABLIST_MAX_NAMES: u32 = 256;
218pub const ENV_MINIMAL: u32 = 1;
219pub const ENV_LEGACY: u32 = 2;
220pub const EVENT_MAX_CALLBACKS: u32 = 32;
221pub const MATH_PI: f64 = 3.141592653589793;
222pub const MATH_DEG2RAD: f64 = 0.017453292519943295;
223pub const MATH_RAD2DEG: f64 = 57.29577951308232;
224pub const MATH_LARGENUM: f64 = 1000000000.0;
225pub const Game_NumStates: u32 = 1;
226pub const DEFAULT_VIEWDIST: u32 = 512;
227pub const DEFAULT_MAX_VIEWDIST: u32 = 32768;
228pub const TREE_MAX_COUNT: u32 = 96;
229pub const SIZEOF_VERTEX_COLOURED: u32 = 16;
230pub const SIZEOF_VERTEX_TEXTURED: u32 = 24;
231pub const GFX_MAX_INDICES: u32 = 98304;
232pub const GFX_MAX_VERTICES: u32 = 65536;
233pub const TEXTURE_FLAG_MANAGED: u32 = 1;
234pub const TEXTURE_FLAG_DYNAMIC: u32 = 2;
235pub const TEXTURE_FLAG_NONPOW2: u32 = 4;
236pub const TEXTURE_FLAG_LOWRES: u32 = 8;
237pub const TEXTURE_FLAG_BILINEAR: u32 = 16;
238pub const Gui_TouchUI: u32 = 0;
239pub const WIDGET_FLAG_DISABLED: u32 = 1;
240pub const WIDGET_FLAG_SELECTABLE: u32 = 2;
241pub const WIDGET_FLAG_MAINSCREEN: u32 = 4;
242pub const GUI_MAX_SCREENS: u32 = 10;
243pub const TEXTATLAS_MAX_WIDTHS: u32 = 16;
244pub const URL_MAX_SIZE: u32 = 128;
245pub const HTTP_FLAG_PRIORITY: u32 = 1;
246pub const HTTP_FLAG_NOCACHE: u32 = 2;
247pub const INPUT_SOURCE_NORMAL: u32 = 1;
248pub const INPUT_SOURCE_GAMEPAD: u32 = 2;
249pub const INPUT_DEVICE_NORMAL: u32 = 1;
250pub const INPUT_DEVICE_TOUCH: u32 = 2;
251pub const INPUT_DEVICE_GAMEPAD: u32 = 4;
252pub const INPUT_MAX_POINTERS: u32 = 1;
253pub const Pointers_Count: u32 = 1;
254pub const Input_TouchMode: u32 = 0;
255pub const TOUCH_TYPE_GUI: u32 = 1;
256pub const TOUCH_TYPE_CAMERA: u32 = 2;
257pub const TOUCH_TYPE_BLOCKS: u32 = 4;
258pub const TOUCH_TYPE_ALL: u32 = 7;
259pub const INPUT_MAX_GAMEPADS: u32 = 5;
260pub const HOTKEY_FLAG_STAYS_OPEN: u32 = 1;
261pub const HOTKEY_FLAG_AUTO_DEFINED: u32 = 2;
262pub const HOTKEYS_MAX_COUNT: u32 = 256;
263pub const INVENTORY_BLOCKS_PER_HOTBAR: u32 = 9;
264pub const INVENTORY_HOTBARS: u32 = 9;
265pub const HOTBAR_MAX_INDEX: u32 = 8;
266pub const ISOMETRICDRAWER_MAXVERTICES: u32 = 12;
267pub const LLAYOUT_EXTRA: u32 = 256;
268pub const LLAYOUT_WIDTH: u32 = 512;
269pub const LLAYOUT_HEIGHT: u32 = 768;
270pub const LINPUT_HEIGHT: u32 = 30;
271pub const LLINE_HEIGHT: u32 = 2;
272pub const FANCY_AO: f64 = 0.5;
273pub const FANCY_LIGHTING_LEVELS: u32 = 16;
274pub const FANCY_LIGHTING_MAX_LEVEL: u32 = 15;
275pub const FANCY_LIGHTING_LAMP_SHIFT: u32 = 4;
276pub const FANCY_LIGHTING_LAMP_MASK: u32 = 240;
277pub const MODEL_QUAD_VERTICES: u32 = 4;
278pub const MODEL_FLAG_INITED: u32 = 1;
279pub const MODEL_FLAG_CLEAR_HAT: u32 = 2;
280pub const MAX_CUSTOM_MODELS: u32 = 64;
281pub const MAX_CUSTOM_MODEL_PARTS: u32 = 64;
282pub const MAX_CUSTOM_MODEL_ANIMS: u32 = 4;
283pub const OPT_MUSIC_VOLUME: &[u8; 12] = b"musicvolume\0";
284pub const OPT_SOUND_VOLUME: &[u8; 13] = b"soundsvolume\0";
285pub const OPT_FORCE_OPENAL: &[u8; 12] = b"forceopenal\0";
286pub const OPT_MIN_MUSIC_DELAY: &[u8; 15] = b"music-mindelay\0";
287pub const OPT_MAX_MUSIC_DELAY: &[u8; 15] = b"music-maxdelay\0";
288pub const OPT_VIEW_DISTANCE: &[u8; 9] = b"viewdist\0";
289pub const OPT_BLOCK_PHYSICS: &[u8; 20] = b"singleplayerphysics\0";
290pub const OPT_NAMES_MODE: &[u8; 10] = b"namesmode\0";
291pub const OPT_INVERT_MOUSE: &[u8; 12] = b"invertmouse\0";
292pub const OPT_SENSITIVITY: &[u8; 17] = b"mousesensitivity\0";
293pub const OPT_FPS_LIMIT: &[u8; 9] = b"fpslimit\0";
294pub const OPT_DEFAULT_TEX_PACK: &[u8; 15] = b"defaulttexpack\0";
295pub const OPT_VIEW_BOBBING: &[u8; 12] = b"viewbobbing\0";
296pub const OPT_ENTITY_SHADOW: &[u8; 13] = b"entityshadow\0";
297pub const OPT_RENDER_TYPE: &[u8; 7] = b"normal\0";
298pub const OPT_SMOOTH_LIGHTING: &[u8; 19] = b"gfx-smoothlighting\0";
299pub const OPT_LIGHTING_MODE: &[u8; 17] = b"gfx-lightingmode\0";
300pub const OPT_MIPMAPS: &[u8; 12] = b"gfx-mipmaps\0";
301pub const OPT_CHAT_LOGGING: &[u8; 13] = b"chat-logging\0";
302pub const OPT_WINDOW_WIDTH: &[u8; 13] = b"window-width\0";
303pub const OPT_WINDOW_HEIGHT: &[u8; 14] = b"window-height\0";
304pub const OPT_HACKS_ENABLED: &[u8; 19] = b"hacks-hacksenabled\0";
305pub const OPT_FIELD_OF_VIEW: &[u8; 10] = b"hacks-fov\0";
306pub const OPT_SPEED_FACTOR: &[u8; 22] = b"hacks-speedmultiplier\0";
307pub const OPT_JUMP_VELOCITY: &[u8; 19] = b"hacks-jumpvelocity\0";
308pub const OPT_MODIFIABLE_LIQUIDS: &[u8; 23] = b"hacks-liquidsbreakable\0";
309pub const OPT_PUSHBACK_PLACING: &[u8; 22] = b"hacks-pushbackplacing\0";
310pub const OPT_NOCLIP_SLIDE: &[u8; 18] = b"hacks-noclipslide\0";
311pub const OPT_CAMERA_CLIPPING: &[u8; 21] = b"hacks-cameraclipping\0";
312pub const OPT_WOM_STYLE_HACKS: &[u8; 20] = b"hacks-womstylehacks\0";
313pub const OPT_FULL_BLOCK_STEP: &[u8; 20] = b"hacks-fullblockstep\0";
314pub const OPT_HACK_PERM_MSGS: &[u8; 16] = b"hacks-perm-msgs\0";
315pub const OPT_TAB_AUTOCOMPLETE: &[u8; 21] = b"gui-tab-autocomplete\0";
316pub const OPT_SHOW_BLOCK_IN_HAND: &[u8; 16] = b"gui-blockinhand\0";
317pub const OPT_CHATLINES: &[u8; 14] = b"gui-chatlines\0";
318pub const OPT_CLICKABLE_CHAT: &[u8; 18] = b"gui-chatclickable\0";
319pub const OPT_USE_CHAT_FONT: &[u8; 18] = b"gui-arialchatfont\0";
320pub const OPT_HOTBAR_SCALE: &[u8; 16] = b"gui-hotbarscale\0";
321pub const OPT_INVENTORY_SCALE: &[u8; 19] = b"gui-inventoryscale\0";
322pub const OPT_CHAT_SCALE: &[u8; 14] = b"gui-chatscale\0";
323pub const OPT_CHAT_AUTO_SCALE: &[u8; 18] = b"gui-autoscalechat\0";
324pub const OPT_CROSSHAIR_SCALE: &[u8; 19] = b"gui-crosshairscale\0";
325pub const OPT_SHOW_FPS: &[u8; 12] = b"gui-showfps\0";
326pub const OPT_FONT_NAME: &[u8; 13] = b"gui-fontname\0";
327pub const OPT_BLACK_TEXT: &[u8; 21] = b"gui-blacktextshadows\0";
328pub const OPT_LANDSCAPE_MODE: &[u8; 15] = b"landscape-mode\0";
329pub const OPT_CLASSIC_MODE: &[u8; 13] = b"mode-classic\0";
330pub const OPT_CUSTOM_BLOCKS: &[u8; 23] = b"nostalgia-customblocks\0";
331pub const OPT_CPE: &[u8; 17] = b"nostalgia-usecpe\0";
332pub const OPT_SERVER_TEXTURES: &[u8; 25] = b"nostalgia-servertextures\0";
333pub const OPT_CLASSIC_GUI: &[u8; 21] = b"nostalgia-classicgui\0";
334pub const OPT_SIMPLE_ARMS_ANIM: &[u8; 21] = b"nostalgia-simplearms\0";
335pub const OPT_CLASSIC_TABLIST: &[u8; 25] = b"nostalgia-classictablist\0";
336pub const OPT_CLASSIC_OPTIONS: &[u8; 25] = b"nostalgia-classicoptions\0";
337pub const OPT_CLASSIC_HACKS: &[u8; 16] = b"nostalgia-hacks\0";
338pub const OPT_CLASSIC_ARM_MODEL: &[u8; 21] = b"nostalgia-classicarm\0";
339pub const OPT_CLASSIC_CHAT: &[u8; 22] = b"nostalgia-classicchat\0";
340pub const OPT_CLASSIC_INVENTORY: &[u8; 27] = b"nostalgia-classicinventory\0";
341pub const OPT_MAX_CHUNK_UPDATES: &[u8; 20] = b"gfx-maxchunkupdates\0";
342pub const OPT_CAMERA_MASS: &[u8; 11] = b"cameramass\0";
343pub const OPT_CAMERA_SMOOTH: &[u8; 14] = b"camera-smooth\0";
344pub const OPT_GRAB_CURSOR: &[u8; 16] = b"win-grab-cursor\0";
345pub const OPT_TOUCH_BUTTONS: &[u8; 17] = b"gui-touchbuttons\0";
346pub const OPT_TOUCH_HALIGN: &[u8; 17] = b"gui-touch-halign\0";
347pub const OPT_TOUCH_SCALE: &[u8; 15] = b"gui-touchscale\0";
348pub const OPT_HTTP_ONLY: &[u8; 14] = b"http-no-https\0";
349pub const OPT_HTTPS_VERIFY: &[u8; 13] = b"https-verify\0";
350pub const OPT_SKIN_SERVER: &[u8; 16] = b"http-skinserver\0";
351pub const OPT_RAW_INPUT: &[u8; 14] = b"win-raw-input\0";
352pub const OPT_DPI_SCALING: &[u8; 16] = b"win-dpi-scaling\0";
353pub const OPT_GAME_VERSION: &[u8; 13] = b"game-version\0";
354pub const OPT_INV_SCROLLBAR_SCALE: &[u8; 20] = b"inv-scrollbar-scale\0";
355pub const OPT_ANAGLYPH3D: &[u8; 12] = b"anaglyph-3d\0";
356pub const OPT_SELECTED_BLOCK_OUTLINE_COLOR: &[u8; 29] = b"selected-block-outline-color\0";
357pub const OPT_SELECTED_BLOCK_OUTLINE_OPACITY: &[u8; 31] = b"selected-block-outline-opacity\0";
358pub const OPT_SELECTED_BLOCK_OUTLINE_SCALE: &[u8; 29] = b"selected-block-outline-scale\0";
359pub const LOPT_SESSION: &[u8; 17] = b"launcher-session\0";
360pub const LOPT_USERNAME: &[u8; 21] = b"launcher-cc-username\0";
361pub const LOPT_PASSWORD: &[u8; 21] = b"launcher-cc-password\0";
362pub const LOPT_AUTO_CLOSE: &[u8; 18] = b"autocloselauncher\0";
363pub const LOPT_SHOW_EMPTY: &[u8; 20] = b"launcher-show-empty\0";
364pub const ROPT_SERVER: &[u8; 16] = b"launcher-server\0";
365pub const ROPT_USER: &[u8; 18] = b"launcher-username\0";
366pub const ROPT_IP: &[u8; 12] = b"launcher-ip\0";
367pub const ROPT_PORT: &[u8; 14] = b"launcher-port\0";
368pub const ROPT_MPPASS: &[u8; 16] = b"launcher-mppass\0";
369pub const SOPT_SERVICES: &[u8; 16] = b"server-services\0";
370pub const _NL: &[u8; 3] = b"\r\n\0";
371pub const NATIVE_STR_LEN: u32 = 300;
372pub const UPDATE_FILE: &[u8; 18] = b"ClassiCube.update\0";
373pub const UNIX_EPOCH_SECONDS: u64 = 62135596800;
374pub const CC_SOCKETADDR_MAXSIZE: u32 = 512;
375pub const SOCKET_MAX_ADDRS: u32 = 5;
376pub const ATLAS2D_TILES_PER_ROW: u32 = 16;
377pub const ATLAS2D_MASK: u32 = 15;
378pub const ATLAS2D_SHIFT: u32 = 4;
379pub const ATLAS2D_MAX_ROWS_COUNT: u32 = 32;
380pub const ATLAS1D_MAX_ATLASES: u32 = 512;
381pub const MILLIS_PER_SEC: u32 = 1000;
382pub const SECS_PER_MIN: u32 = 60;
383pub const SECS_PER_HOUR: u32 = 3600;
384pub const SECS_PER_DAY: u32 = 86400;
385pub const KEYBOARD_FLAG_SEND: u32 = 256;
386pub const DEFAULT_UI_SCALE_X: f64 = 0.0015625;
387pub const DEFAULT_UI_SCALE_Y: f64 = 0.0020833333333333333;
388pub const OFD_UPLOAD_DELETE: u32 = 0;
389pub const OFD_UPLOAD_PERSIST: u32 = 1;
390pub const KB_TILE_SIZE: u32 = 32;
391pub const KB_B_CAPS: u32 = 16;
392pub const KB_B_SHIFT: u32 = 32;
393pub const KB_B_SPACE: u32 = 48;
394pub const KB_B_CLOSE: u32 = 64;
395pub const KB_B_BACK: u32 = 80;
396pub const KB_B_ENTER: u32 = 96;
397pub const VORBIS_MAX_CHANS: u32 = 8;
398pub const VORBIS_MAX_BLOCK_SIZE: u32 = 8192;
399pub const OGG_BUFFER_SIZE: u32 = 65280;
400pub const TEXTWIDGET_MAX: u32 = 4;
401pub const BUTTONWIDGET_MAX: u32 = 12;
402pub const HOTBAR_CORE_VERTICES: u32 = 108;
403pub const HOTBAR_MAX_VERTICES: u32 = 116;
404pub const TABLE_MAX_VERTICES: u32 = 960;
405pub const INPUTWIDGET_MAX_LINES: u32 = 3;
406pub const INPUTWIDGET_LEN: u32 = 64;
407pub const MENUINPUTWIDGET_MAX: u32 = 8;
408pub const TEXTGROUPWIDGET_LEN: u32 = 96;
409pub const WORLD_UUID_LEN: u32 = 16;
410pub const RESPAWN_NOT_FOUND: f64 = -100000.0;
411pub const DEFAULT_SINGLEPLAYER_ARG: &[u8; 15] = b"--singleplayer\0";
412pub const DEFAULT_RESUME_ARG: &[u8; 9] = b"--resume\0";
413pub type cc_int8 = ::std::os::raw::c_schar;
414pub type cc_int16 = ::std::os::raw::c_short;
415pub type cc_int32 = ::std::os::raw::c_int;
416pub type cc_int64 = ::std::os::raw::c_longlong;
417pub type cc_uint8 = ::std::os::raw::c_uchar;
418pub type cc_uint16 = ::std::os::raw::c_ushort;
419pub type cc_uint32 = ::std::os::raw::c_uint;
420pub type cc_uint64 = ::std::os::raw::c_ulonglong;
421pub type cc_uintptr = ::std::os::raw::c_ulonglong;
422pub type cc_codepoint = cc_uint32;
423pub type cc_unichar = cc_uint16;
424pub type cc_bool = cc_uint8;
425pub type BlockID = cc_uint16;
426pub type TextureLoc = cc_uint16;
427pub type BlockRaw = cc_uint8;
428pub type EntityID = cc_uint8;
429pub type Face = cc_uint8;
430pub type cc_result = cc_uint32;
431pub type TimeMS = cc_uint64;
432#[repr(C)]
433#[derive(Copy, Clone)]
434pub union cc_pointer_ {
435    pub val: cc_uintptr,
436    pub ptr: *mut ::std::os::raw::c_void,
437}
438#[allow(clippy::unnecessary_operation, clippy::identity_op)]
439const _: () = {
440    ["Size of cc_pointer_"][::std::mem::size_of::<cc_pointer_>() - 8usize];
441    ["Alignment of cc_pointer_"][::std::mem::align_of::<cc_pointer_>() - 8usize];
442    ["Offset of field: cc_pointer_::val"][::std::mem::offset_of!(cc_pointer_, val) - 0usize];
443    ["Offset of field: cc_pointer_::ptr"][::std::mem::offset_of!(cc_pointer_, ptr) - 0usize];
444};
445pub type cc_pointer = cc_pointer_;
446#[repr(C)]
447#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
448pub struct Rect2D_ {
449    pub x: ::std::os::raw::c_int,
450    pub y: ::std::os::raw::c_int,
451    pub width: ::std::os::raw::c_int,
452    pub height: ::std::os::raw::c_int,
453}
454#[allow(clippy::unnecessary_operation, clippy::identity_op)]
455const _: () = {
456    ["Size of Rect2D_"][::std::mem::size_of::<Rect2D_>() - 16usize];
457    ["Alignment of Rect2D_"][::std::mem::align_of::<Rect2D_>() - 4usize];
458    ["Offset of field: Rect2D_::x"][::std::mem::offset_of!(Rect2D_, x) - 0usize];
459    ["Offset of field: Rect2D_::y"][::std::mem::offset_of!(Rect2D_, y) - 4usize];
460    ["Offset of field: Rect2D_::width"][::std::mem::offset_of!(Rect2D_, width) - 8usize];
461    ["Offset of field: Rect2D_::height"][::std::mem::offset_of!(Rect2D_, height) - 12usize];
462};
463pub type Rect2D = Rect2D_;
464#[repr(C)]
465#[derive(Debug, Copy, Clone, PartialEq)]
466pub struct TextureRec_ {
467    pub u1: f32,
468    pub v1: f32,
469    pub u2: f32,
470    pub v2: f32,
471}
472#[allow(clippy::unnecessary_operation, clippy::identity_op)]
473const _: () = {
474    ["Size of TextureRec_"][::std::mem::size_of::<TextureRec_>() - 16usize];
475    ["Alignment of TextureRec_"][::std::mem::align_of::<TextureRec_>() - 4usize];
476    ["Offset of field: TextureRec_::u1"][::std::mem::offset_of!(TextureRec_, u1) - 0usize];
477    ["Offset of field: TextureRec_::v1"][::std::mem::offset_of!(TextureRec_, v1) - 4usize];
478    ["Offset of field: TextureRec_::u2"][::std::mem::offset_of!(TextureRec_, u2) - 8usize];
479    ["Offset of field: TextureRec_::v2"][::std::mem::offset_of!(TextureRec_, v2) - 12usize];
480};
481pub type TextureRec = TextureRec_;
482#[repr(C)]
483#[derive(Debug, Hash, PartialEq, Eq)]
484pub struct cc_string_ {
485    pub buffer: *mut ::std::os::raw::c_char,
486    pub length: cc_uint16,
487    pub capacity: cc_uint16,
488}
489#[allow(clippy::unnecessary_operation, clippy::identity_op)]
490const _: () = {
491    ["Size of cc_string_"][::std::mem::size_of::<cc_string_>() - 16usize];
492    ["Alignment of cc_string_"][::std::mem::align_of::<cc_string_>() - 8usize];
493    ["Offset of field: cc_string_::buffer"][::std::mem::offset_of!(cc_string_, buffer) - 0usize];
494    ["Offset of field: cc_string_::length"][::std::mem::offset_of!(cc_string_, length) - 8usize];
495    ["Offset of field: cc_string_::capacity"]
496        [::std::mem::offset_of!(cc_string_, capacity) - 10usize];
497};
498pub type cc_string = cc_string_;
499pub type GfxResourceID = *mut ::std::os::raw::c_void;
500#[repr(C)]
501#[derive(Debug, PartialEq)]
502pub struct Texture {
503    pub ID: GfxResourceID,
504    pub x: ::std::os::raw::c_short,
505    pub y: ::std::os::raw::c_short,
506    pub width: cc_uint16,
507    pub height: cc_uint16,
508    pub uv: TextureRec,
509}
510#[allow(clippy::unnecessary_operation, clippy::identity_op)]
511const _: () = {
512    ["Size of Texture"][::std::mem::size_of::<Texture>() - 32usize];
513    ["Alignment of Texture"][::std::mem::align_of::<Texture>() - 8usize];
514    ["Offset of field: Texture::ID"][::std::mem::offset_of!(Texture, ID) - 0usize];
515    ["Offset of field: Texture::x"][::std::mem::offset_of!(Texture, x) - 8usize];
516    ["Offset of field: Texture::y"][::std::mem::offset_of!(Texture, y) - 10usize];
517    ["Offset of field: Texture::width"][::std::mem::offset_of!(Texture, width) - 12usize];
518    ["Offset of field: Texture::height"][::std::mem::offset_of!(Texture, height) - 14usize];
519    ["Offset of field: Texture::uv"][::std::mem::offset_of!(Texture, uv) - 16usize];
520};
521#[repr(C)]
522#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
523pub struct IGameComponent {
524    pub Init: ::std::option::Option<unsafe extern "C" fn()>,
525    pub Free: ::std::option::Option<unsafe extern "C" fn()>,
526    pub Reset: ::std::option::Option<unsafe extern "C" fn()>,
527    pub OnNewMap: ::std::option::Option<unsafe extern "C" fn()>,
528    pub OnNewMapLoaded: ::std::option::Option<unsafe extern "C" fn()>,
529    pub next: *mut IGameComponent,
530}
531#[allow(clippy::unnecessary_operation, clippy::identity_op)]
532const _: () = {
533    ["Size of IGameComponent"][::std::mem::size_of::<IGameComponent>() - 48usize];
534    ["Alignment of IGameComponent"][::std::mem::align_of::<IGameComponent>() - 8usize];
535    ["Offset of field: IGameComponent::Init"]
536        [::std::mem::offset_of!(IGameComponent, Init) - 0usize];
537    ["Offset of field: IGameComponent::Free"]
538        [::std::mem::offset_of!(IGameComponent, Free) - 8usize];
539    ["Offset of field: IGameComponent::Reset"]
540        [::std::mem::offset_of!(IGameComponent, Reset) - 16usize];
541    ["Offset of field: IGameComponent::OnNewMap"]
542        [::std::mem::offset_of!(IGameComponent, OnNewMap) - 24usize];
543    ["Offset of field: IGameComponent::OnNewMapLoaded"]
544        [::std::mem::offset_of!(IGameComponent, OnNewMapLoaded) - 32usize];
545    ["Offset of field: IGameComponent::next"]
546        [::std::mem::offset_of!(IGameComponent, next) - 40usize];
547};
548#[repr(C)]
549#[derive(Debug, Copy, Clone)]
550pub struct AudioContext {
551    _unused: [u8; 0],
552}
553#[repr(C)]
554#[derive(Copy, Clone)]
555pub union AudioChunkMeta {
556    pub ptr: *mut ::std::os::raw::c_void,
557    pub val: cc_uintptr,
558}
559#[allow(clippy::unnecessary_operation, clippy::identity_op)]
560const _: () = {
561    ["Size of AudioChunkMeta"][::std::mem::size_of::<AudioChunkMeta>() - 8usize];
562    ["Alignment of AudioChunkMeta"][::std::mem::align_of::<AudioChunkMeta>() - 8usize];
563    ["Offset of field: AudioChunkMeta::ptr"][::std::mem::offset_of!(AudioChunkMeta, ptr) - 0usize];
564    ["Offset of field: AudioChunkMeta::val"][::std::mem::offset_of!(AudioChunkMeta, val) - 0usize];
565};
566#[repr(C)]
567#[derive(Copy, Clone)]
568pub struct AudioChunk {
569    pub data: *mut ::std::os::raw::c_void,
570    pub size: cc_uint32,
571    pub meta: AudioChunkMeta,
572}
573#[allow(clippy::unnecessary_operation, clippy::identity_op)]
574const _: () = {
575    ["Size of AudioChunk"][::std::mem::size_of::<AudioChunk>() - 24usize];
576    ["Alignment of AudioChunk"][::std::mem::align_of::<AudioChunk>() - 8usize];
577    ["Offset of field: AudioChunk::data"][::std::mem::offset_of!(AudioChunk, data) - 0usize];
578    ["Offset of field: AudioChunk::size"][::std::mem::offset_of!(AudioChunk, size) - 8usize];
579    ["Offset of field: AudioChunk::meta"][::std::mem::offset_of!(AudioChunk, meta) - 16usize];
580};
581#[repr(C)]
582#[derive(Copy, Clone)]
583pub struct AudioData {
584    pub chunk: AudioChunk,
585    pub channels: ::std::os::raw::c_int,
586    pub sampleRate: ::std::os::raw::c_int,
587    pub volume: ::std::os::raw::c_int,
588    pub rate: ::std::os::raw::c_int,
589}
590#[allow(clippy::unnecessary_operation, clippy::identity_op)]
591const _: () = {
592    ["Size of AudioData"][::std::mem::size_of::<AudioData>() - 40usize];
593    ["Alignment of AudioData"][::std::mem::align_of::<AudioData>() - 8usize];
594    ["Offset of field: AudioData::chunk"][::std::mem::offset_of!(AudioData, chunk) - 0usize];
595    ["Offset of field: AudioData::channels"][::std::mem::offset_of!(AudioData, channels) - 24usize];
596    ["Offset of field: AudioData::sampleRate"]
597        [::std::mem::offset_of!(AudioData, sampleRate) - 28usize];
598    ["Offset of field: AudioData::volume"][::std::mem::offset_of!(AudioData, volume) - 32usize];
599    ["Offset of field: AudioData::rate"][::std::mem::offset_of!(AudioData, rate) - 36usize];
600};
601pub type BitmapCol = cc_uint32;
602#[repr(C)]
603#[derive(Debug, Hash, PartialEq, Eq)]
604pub struct Bitmap {
605    pub scan0: *mut BitmapCol,
606    pub width: ::std::os::raw::c_int,
607    pub height: ::std::os::raw::c_int,
608}
609#[allow(clippy::unnecessary_operation, clippy::identity_op)]
610const _: () = {
611    ["Size of Bitmap"][::std::mem::size_of::<Bitmap>() - 16usize];
612    ["Alignment of Bitmap"][::std::mem::align_of::<Bitmap>() - 8usize];
613    ["Offset of field: Bitmap::scan0"][::std::mem::offset_of!(Bitmap, scan0) - 0usize];
614    ["Offset of field: Bitmap::width"][::std::mem::offset_of!(Bitmap, width) - 8usize];
615    ["Offset of field: Bitmap::height"][::std::mem::offset_of!(Bitmap, height) - 12usize];
616};
617extern "C" {
618    pub fn Bitmap_Scale(
619        dst: *mut Bitmap,
620        src: *mut Bitmap,
621        srcX: ::std::os::raw::c_int,
622        srcY: ::std::os::raw::c_int,
623        srcWidth: ::std::os::raw::c_int,
624        srcHeight: ::std::os::raw::c_int,
625    );
626}
627pub type Png_RowGetter = ::std::option::Option<
628    unsafe extern "C" fn(
629        bmp: *mut Bitmap,
630        row: ::std::os::raw::c_int,
631        ctx: *mut ::std::os::raw::c_void,
632    ) -> *mut BitmapCol,
633>;
634extern "C" {
635    pub fn Png_Decode(bmp: *mut Bitmap, stream: *mut Stream) -> cc_result;
636}
637pub type PackedCol = cc_uint32;
638extern "C" {
639    pub fn PackedCol_Scale(value: PackedCol, t: f32) -> PackedCol;
640}
641extern "C" {
642    pub fn PackedCol_Lerp(a: PackedCol, b: PackedCol, t: f32) -> PackedCol;
643}
644extern "C" {
645    pub fn PackedCol_Tint(a: PackedCol, b: PackedCol) -> PackedCol;
646}
647extern "C" {
648    pub fn PackedCol_ScreenBlend(a: PackedCol, b: PackedCol) -> PackedCol;
649}
650pub const FACE_CONSTS_FACE_XMIN: FACE_CONSTS = 0;
651pub const FACE_CONSTS_FACE_BIT_XMIN: FACE_CONSTS = 1;
652pub const FACE_CONSTS_FACE_XMAX: FACE_CONSTS = 1;
653pub const FACE_CONSTS_FACE_BIT_XMAX: FACE_CONSTS = 2;
654pub const FACE_CONSTS_FACE_ZMIN: FACE_CONSTS = 2;
655pub const FACE_CONSTS_FACE_BIT_ZMIN: FACE_CONSTS = 4;
656pub const FACE_CONSTS_FACE_ZMAX: FACE_CONSTS = 3;
657pub const FACE_CONSTS_FACE_BIT_ZMAX: FACE_CONSTS = 8;
658pub const FACE_CONSTS_FACE_YMIN: FACE_CONSTS = 4;
659pub const FACE_CONSTS_FACE_BIT_YMIN: FACE_CONSTS = 16;
660pub const FACE_CONSTS_FACE_YMAX: FACE_CONSTS = 5;
661pub const FACE_CONSTS_FACE_BIT_YMAX: FACE_CONSTS = 32;
662pub const FACE_CONSTS_FACE_COUNT: FACE_CONSTS = 6;
663pub type FACE_CONSTS = ::std::os::raw::c_int;
664pub const SKIN_TYPE_SKIN_64x32: SKIN_TYPE = 0;
665pub const SKIN_TYPE_SKIN_64x64: SKIN_TYPE = 1;
666pub const SKIN_TYPE_SKIN_64x64_SLIM: SKIN_TYPE = 2;
667pub const SKIN_TYPE_SKIN_INVALID: SKIN_TYPE = 240;
668pub type SKIN_TYPE = ::std::os::raw::c_int;
669#[repr(C)]
670#[derive(Debug, Copy, Clone, PartialEq)]
671pub struct Vec2_ {
672    pub x: f32,
673    pub y: f32,
674}
675#[allow(clippy::unnecessary_operation, clippy::identity_op)]
676const _: () = {
677    ["Size of Vec2_"][::std::mem::size_of::<Vec2_>() - 8usize];
678    ["Alignment of Vec2_"][::std::mem::align_of::<Vec2_>() - 4usize];
679    ["Offset of field: Vec2_::x"][::std::mem::offset_of!(Vec2_, x) - 0usize];
680    ["Offset of field: Vec2_::y"][::std::mem::offset_of!(Vec2_, y) - 4usize];
681};
682pub type Vec2 = Vec2_;
683#[repr(C)]
684#[derive(Debug, Copy, Clone, PartialEq)]
685pub struct Vec3_ {
686    pub x: f32,
687    pub y: f32,
688    pub z: f32,
689}
690#[allow(clippy::unnecessary_operation, clippy::identity_op)]
691const _: () = {
692    ["Size of Vec3_"][::std::mem::size_of::<Vec3_>() - 12usize];
693    ["Alignment of Vec3_"][::std::mem::align_of::<Vec3_>() - 4usize];
694    ["Offset of field: Vec3_::x"][::std::mem::offset_of!(Vec3_, x) - 0usize];
695    ["Offset of field: Vec3_::y"][::std::mem::offset_of!(Vec3_, y) - 4usize];
696    ["Offset of field: Vec3_::z"][::std::mem::offset_of!(Vec3_, z) - 8usize];
697};
698pub type Vec3 = Vec3_;
699#[repr(C)]
700#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
701pub struct IVec3_ {
702    pub x: ::std::os::raw::c_int,
703    pub y: ::std::os::raw::c_int,
704    pub z: ::std::os::raw::c_int,
705}
706#[allow(clippy::unnecessary_operation, clippy::identity_op)]
707const _: () = {
708    ["Size of IVec3_"][::std::mem::size_of::<IVec3_>() - 12usize];
709    ["Alignment of IVec3_"][::std::mem::align_of::<IVec3_>() - 4usize];
710    ["Offset of field: IVec3_::x"][::std::mem::offset_of!(IVec3_, x) - 0usize];
711    ["Offset of field: IVec3_::y"][::std::mem::offset_of!(IVec3_, y) - 4usize];
712    ["Offset of field: IVec3_::z"][::std::mem::offset_of!(IVec3_, z) - 8usize];
713};
714pub type IVec3 = IVec3_;
715#[repr(C)]
716#[derive(Debug, Copy, Clone, PartialEq)]
717pub struct Vec4 {
718    pub x: f32,
719    pub y: f32,
720    pub z: f32,
721    pub w: f32,
722}
723#[allow(clippy::unnecessary_operation, clippy::identity_op)]
724const _: () = {
725    ["Size of Vec4"][::std::mem::size_of::<Vec4>() - 16usize];
726    ["Alignment of Vec4"][::std::mem::align_of::<Vec4>() - 4usize];
727    ["Offset of field: Vec4::x"][::std::mem::offset_of!(Vec4, x) - 0usize];
728    ["Offset of field: Vec4::y"][::std::mem::offset_of!(Vec4, y) - 4usize];
729    ["Offset of field: Vec4::z"][::std::mem::offset_of!(Vec4, z) - 8usize];
730    ["Offset of field: Vec4::w"][::std::mem::offset_of!(Vec4, w) - 12usize];
731};
732#[repr(C)]
733#[derive(Debug, Copy, Clone, PartialEq)]
734pub struct Matrix {
735    pub row1: Vec4,
736    pub row2: Vec4,
737    pub row3: Vec4,
738    pub row4: Vec4,
739}
740#[allow(clippy::unnecessary_operation, clippy::identity_op)]
741const _: () = {
742    ["Size of Matrix"][::std::mem::size_of::<Matrix>() - 64usize];
743    ["Alignment of Matrix"][::std::mem::align_of::<Matrix>() - 4usize];
744    ["Offset of field: Matrix::row1"][::std::mem::offset_of!(Matrix, row1) - 0usize];
745    ["Offset of field: Matrix::row2"][::std::mem::offset_of!(Matrix, row2) - 16usize];
746    ["Offset of field: Matrix::row3"][::std::mem::offset_of!(Matrix, row3) - 32usize];
747    ["Offset of field: Matrix::row4"][::std::mem::offset_of!(Matrix, row4) - 48usize];
748};
749extern "C" {
750    pub fn Matrix_RotateX(result: *mut Matrix, angle: f32);
751}
752extern "C" {
753    pub fn Matrix_RotateY(result: *mut Matrix, angle: f32);
754}
755extern "C" {
756    pub fn Matrix_RotateZ(result: *mut Matrix, angle: f32);
757}
758extern "C" {
759    pub fn Matrix_Translate(result: *mut Matrix, x: f32, y: f32, z: f32);
760}
761extern "C" {
762    pub fn Matrix_Scale(result: *mut Matrix, x: f32, y: f32, z: f32);
763}
764extern "C" {
765    pub fn Matrix_Mul(result: *mut Matrix, left: *const Matrix, right: *const Matrix);
766}
767pub const BLOCKID_BLOCK_AIR: BLOCKID = 0;
768pub const BLOCKID_BLOCK_STONE: BLOCKID = 1;
769pub const BLOCKID_BLOCK_GRASS: BLOCKID = 2;
770pub const BLOCKID_BLOCK_DIRT: BLOCKID = 3;
771pub const BLOCKID_BLOCK_COBBLE: BLOCKID = 4;
772pub const BLOCKID_BLOCK_WOOD: BLOCKID = 5;
773pub const BLOCKID_BLOCK_SAPLING: BLOCKID = 6;
774pub const BLOCKID_BLOCK_BEDROCK: BLOCKID = 7;
775pub const BLOCKID_BLOCK_WATER: BLOCKID = 8;
776pub const BLOCKID_BLOCK_STILL_WATER: BLOCKID = 9;
777pub const BLOCKID_BLOCK_LAVA: BLOCKID = 10;
778pub const BLOCKID_BLOCK_STILL_LAVA: BLOCKID = 11;
779pub const BLOCKID_BLOCK_SAND: BLOCKID = 12;
780pub const BLOCKID_BLOCK_GRAVEL: BLOCKID = 13;
781pub const BLOCKID_BLOCK_GOLD_ORE: BLOCKID = 14;
782pub const BLOCKID_BLOCK_IRON_ORE: BLOCKID = 15;
783pub const BLOCKID_BLOCK_COAL_ORE: BLOCKID = 16;
784pub const BLOCKID_BLOCK_LOG: BLOCKID = 17;
785pub const BLOCKID_BLOCK_LEAVES: BLOCKID = 18;
786pub const BLOCKID_BLOCK_SPONGE: BLOCKID = 19;
787pub const BLOCKID_BLOCK_GLASS: BLOCKID = 20;
788pub const BLOCKID_BLOCK_RED: BLOCKID = 21;
789pub const BLOCKID_BLOCK_ORANGE: BLOCKID = 22;
790pub const BLOCKID_BLOCK_YELLOW: BLOCKID = 23;
791pub const BLOCKID_BLOCK_LIME: BLOCKID = 24;
792pub const BLOCKID_BLOCK_GREEN: BLOCKID = 25;
793pub const BLOCKID_BLOCK_TEAL: BLOCKID = 26;
794pub const BLOCKID_BLOCK_AQUA: BLOCKID = 27;
795pub const BLOCKID_BLOCK_CYAN: BLOCKID = 28;
796pub const BLOCKID_BLOCK_BLUE: BLOCKID = 29;
797pub const BLOCKID_BLOCK_INDIGO: BLOCKID = 30;
798pub const BLOCKID_BLOCK_VIOLET: BLOCKID = 31;
799pub const BLOCKID_BLOCK_MAGENTA: BLOCKID = 32;
800pub const BLOCKID_BLOCK_PINK: BLOCKID = 33;
801pub const BLOCKID_BLOCK_BLACK: BLOCKID = 34;
802pub const BLOCKID_BLOCK_GRAY: BLOCKID = 35;
803pub const BLOCKID_BLOCK_WHITE: BLOCKID = 36;
804pub const BLOCKID_BLOCK_DANDELION: BLOCKID = 37;
805pub const BLOCKID_BLOCK_ROSE: BLOCKID = 38;
806pub const BLOCKID_BLOCK_BROWN_SHROOM: BLOCKID = 39;
807pub const BLOCKID_BLOCK_RED_SHROOM: BLOCKID = 40;
808pub const BLOCKID_BLOCK_GOLD: BLOCKID = 41;
809pub const BLOCKID_BLOCK_IRON: BLOCKID = 42;
810pub const BLOCKID_BLOCK_DOUBLE_SLAB: BLOCKID = 43;
811pub const BLOCKID_BLOCK_SLAB: BLOCKID = 44;
812pub const BLOCKID_BLOCK_BRICK: BLOCKID = 45;
813pub const BLOCKID_BLOCK_TNT: BLOCKID = 46;
814pub const BLOCKID_BLOCK_BOOKSHELF: BLOCKID = 47;
815pub const BLOCKID_BLOCK_MOSSY_ROCKS: BLOCKID = 48;
816pub const BLOCKID_BLOCK_OBSIDIAN: BLOCKID = 49;
817pub const BLOCKID_BLOCK_COBBLE_SLAB: BLOCKID = 50;
818pub const BLOCKID_BLOCK_ROPE: BLOCKID = 51;
819pub const BLOCKID_BLOCK_SANDSTONE: BLOCKID = 52;
820pub const BLOCKID_BLOCK_SNOW: BLOCKID = 53;
821pub const BLOCKID_BLOCK_FIRE: BLOCKID = 54;
822pub const BLOCKID_BLOCK_LIGHT_PINK: BLOCKID = 55;
823pub const BLOCKID_BLOCK_FOREST_GREEN: BLOCKID = 56;
824pub const BLOCKID_BLOCK_BROWN: BLOCKID = 57;
825pub const BLOCKID_BLOCK_DEEP_BLUE: BLOCKID = 58;
826pub const BLOCKID_BLOCK_TURQUOISE: BLOCKID = 59;
827pub const BLOCKID_BLOCK_ICE: BLOCKID = 60;
828pub const BLOCKID_BLOCK_CERAMIC_TILE: BLOCKID = 61;
829pub const BLOCKID_BLOCK_MAGMA: BLOCKID = 62;
830pub const BLOCKID_BLOCK_PILLAR: BLOCKID = 63;
831pub const BLOCKID_BLOCK_CRATE: BLOCKID = 64;
832pub const BLOCKID_BLOCK_STONE_BRICK: BLOCKID = 65;
833pub const BLOCKID_BLOCK_MAX_ORIGINAL: BLOCKID = 49;
834pub const BLOCKID_BLOCK_MAX_CPE: BLOCKID = 65;
835pub const BLOCKID_BLOCK_MAX_DEFINED: BLOCKID = 767;
836pub const BLOCKID_BLOCK_COUNT: BLOCKID = 768;
837pub type BLOCKID = ::std::os::raw::c_int;
838pub const SoundType_SOUND_NONE: SoundType = 0;
839pub const SoundType_SOUND_WOOD: SoundType = 1;
840pub const SoundType_SOUND_GRAVEL: SoundType = 2;
841pub const SoundType_SOUND_GRASS: SoundType = 3;
842pub const SoundType_SOUND_STONE: SoundType = 4;
843pub const SoundType_SOUND_METAL: SoundType = 5;
844pub const SoundType_SOUND_GLASS: SoundType = 6;
845pub const SoundType_SOUND_CLOTH: SoundType = 7;
846pub const SoundType_SOUND_SAND: SoundType = 8;
847pub const SoundType_SOUND_SNOW: SoundType = 9;
848pub const SoundType_SOUND_COUNT: SoundType = 10;
849pub type SoundType = ::std::os::raw::c_int;
850pub const DrawType_DRAW_OPAQUE: DrawType = 0;
851pub const DrawType_DRAW_TRANSPARENT: DrawType = 1;
852pub const DrawType_DRAW_TRANSPARENT_THICK: DrawType = 2;
853pub const DrawType_DRAW_TRANSLUCENT: DrawType = 3;
854pub const DrawType_DRAW_GAS: DrawType = 4;
855pub const DrawType_DRAW_SPRITE: DrawType = 5;
856pub type DrawType = ::std::os::raw::c_int;
857pub const CollideType_COLLIDE_NONE: CollideType = 0;
858pub const CollideType_COLLIDE_LIQUID: CollideType = 1;
859pub const CollideType_COLLIDE_SOLID: CollideType = 2;
860pub const CollideType_COLLIDE_ICE: CollideType = 3;
861pub const CollideType_COLLIDE_SLIPPERY_ICE: CollideType = 4;
862pub const CollideType_COLLIDE_WATER: CollideType = 5;
863pub const CollideType_COLLIDE_LAVA: CollideType = 6;
864pub const CollideType_COLLIDE_CLIMB: CollideType = 7;
865pub type CollideType = ::std::os::raw::c_int;
866#[repr(C)]
867#[derive(Debug, Copy, Clone, PartialEq)]
868pub struct _BlockLists {
869    pub IsLiquid: [cc_bool; 768usize],
870    pub BlocksLight: [cc_bool; 768usize],
871    pub Brightness: [cc_uint8; 768usize],
872    pub FogCol: [PackedCol; 768usize],
873    pub FogDensity: [f32; 768usize],
874    pub Collide: [cc_uint8; 768usize],
875    pub ExtendedCollide: [cc_uint8; 768usize],
876    pub SpeedMultiplier: [f32; 768usize],
877    pub LightOffset: [cc_uint8; 768usize],
878    pub Draw: [cc_uint8; 768usize],
879    pub DigSounds: [cc_uint8; 768usize],
880    pub StepSounds: [cc_uint8; 768usize],
881    pub Tinted: [cc_bool; 768usize],
882    pub FullOpaque: [cc_bool; 768usize],
883    pub SpriteOffset: [cc_uint8; 768usize],
884    pub MinBB: [Vec3; 768usize],
885    pub MaxBB: [Vec3; 768usize],
886    pub RenderMinBB: [Vec3; 768usize],
887    pub RenderMaxBB: [Vec3; 768usize],
888    pub Textures: [TextureLoc; 4608usize],
889    pub CanPlace: [cc_bool; 768usize],
890    pub CanDelete: [cc_bool; 768usize],
891    pub Hidden: [cc_uint8; 589824usize],
892    pub CanStretch: [cc_uint8; 768usize],
893    pub ParticleGravity: [f32; 768usize],
894}
895#[allow(clippy::unnecessary_operation, clippy::identity_op)]
896const _: () = {
897    ["Size of _BlockLists"][::std::mem::size_of::<_BlockLists>() - 659712usize];
898    ["Alignment of _BlockLists"][::std::mem::align_of::<_BlockLists>() - 4usize];
899    ["Offset of field: _BlockLists::IsLiquid"]
900        [::std::mem::offset_of!(_BlockLists, IsLiquid) - 0usize];
901    ["Offset of field: _BlockLists::BlocksLight"]
902        [::std::mem::offset_of!(_BlockLists, BlocksLight) - 768usize];
903    ["Offset of field: _BlockLists::Brightness"]
904        [::std::mem::offset_of!(_BlockLists, Brightness) - 1536usize];
905    ["Offset of field: _BlockLists::FogCol"]
906        [::std::mem::offset_of!(_BlockLists, FogCol) - 2304usize];
907    ["Offset of field: _BlockLists::FogDensity"]
908        [::std::mem::offset_of!(_BlockLists, FogDensity) - 5376usize];
909    ["Offset of field: _BlockLists::Collide"]
910        [::std::mem::offset_of!(_BlockLists, Collide) - 8448usize];
911    ["Offset of field: _BlockLists::ExtendedCollide"]
912        [::std::mem::offset_of!(_BlockLists, ExtendedCollide) - 9216usize];
913    ["Offset of field: _BlockLists::SpeedMultiplier"]
914        [::std::mem::offset_of!(_BlockLists, SpeedMultiplier) - 9984usize];
915    ["Offset of field: _BlockLists::LightOffset"]
916        [::std::mem::offset_of!(_BlockLists, LightOffset) - 13056usize];
917    ["Offset of field: _BlockLists::Draw"][::std::mem::offset_of!(_BlockLists, Draw) - 13824usize];
918    ["Offset of field: _BlockLists::DigSounds"]
919        [::std::mem::offset_of!(_BlockLists, DigSounds) - 14592usize];
920    ["Offset of field: _BlockLists::StepSounds"]
921        [::std::mem::offset_of!(_BlockLists, StepSounds) - 15360usize];
922    ["Offset of field: _BlockLists::Tinted"]
923        [::std::mem::offset_of!(_BlockLists, Tinted) - 16128usize];
924    ["Offset of field: _BlockLists::FullOpaque"]
925        [::std::mem::offset_of!(_BlockLists, FullOpaque) - 16896usize];
926    ["Offset of field: _BlockLists::SpriteOffset"]
927        [::std::mem::offset_of!(_BlockLists, SpriteOffset) - 17664usize];
928    ["Offset of field: _BlockLists::MinBB"]
929        [::std::mem::offset_of!(_BlockLists, MinBB) - 18432usize];
930    ["Offset of field: _BlockLists::MaxBB"]
931        [::std::mem::offset_of!(_BlockLists, MaxBB) - 27648usize];
932    ["Offset of field: _BlockLists::RenderMinBB"]
933        [::std::mem::offset_of!(_BlockLists, RenderMinBB) - 36864usize];
934    ["Offset of field: _BlockLists::RenderMaxBB"]
935        [::std::mem::offset_of!(_BlockLists, RenderMaxBB) - 46080usize];
936    ["Offset of field: _BlockLists::Textures"]
937        [::std::mem::offset_of!(_BlockLists, Textures) - 55296usize];
938    ["Offset of field: _BlockLists::CanPlace"]
939        [::std::mem::offset_of!(_BlockLists, CanPlace) - 64512usize];
940    ["Offset of field: _BlockLists::CanDelete"]
941        [::std::mem::offset_of!(_BlockLists, CanDelete) - 65280usize];
942    ["Offset of field: _BlockLists::Hidden"]
943        [::std::mem::offset_of!(_BlockLists, Hidden) - 66048usize];
944    ["Offset of field: _BlockLists::CanStretch"]
945        [::std::mem::offset_of!(_BlockLists, CanStretch) - 655872usize];
946    ["Offset of field: _BlockLists::ParticleGravity"]
947        [::std::mem::offset_of!(_BlockLists, ParticleGravity) - 656640usize];
948};
949#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
950    pub static mut Blocks: _BlockLists;
951}
952extern "C" {
953    pub fn Block_UNSAFE_GetName(block: BlockID) -> cc_string;
954}
955pub type FP_Block_UNSAFE_GetName =
956    ::std::option::Option<unsafe extern "C" fn(block: BlockID) -> cc_string>;
957extern "C" {
958    pub fn Block_FindID(name: *const cc_string) -> ::std::os::raw::c_int;
959}
960extern "C" {
961    pub fn Block_Parse(name: *const cc_string) -> ::std::os::raw::c_int;
962}
963pub type PhysicsHandler =
964    ::std::option::Option<unsafe extern "C" fn(index: ::std::os::raw::c_int, block: BlockID)>;
965#[repr(C)]
966#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
967pub struct Physics_ {
968    pub Enabled: cc_bool,
969    pub OnActivate: [PhysicsHandler; 256usize],
970    pub OnRandomTick: [PhysicsHandler; 256usize],
971    pub OnPlace: [PhysicsHandler; 256usize],
972    pub OnDelete: [PhysicsHandler; 256usize],
973}
974#[allow(clippy::unnecessary_operation, clippy::identity_op)]
975const _: () = {
976    ["Size of Physics_"][::std::mem::size_of::<Physics_>() - 8200usize];
977    ["Alignment of Physics_"][::std::mem::align_of::<Physics_>() - 8usize];
978    ["Offset of field: Physics_::Enabled"][::std::mem::offset_of!(Physics_, Enabled) - 0usize];
979    ["Offset of field: Physics_::OnActivate"]
980        [::std::mem::offset_of!(Physics_, OnActivate) - 8usize];
981    ["Offset of field: Physics_::OnRandomTick"]
982        [::std::mem::offset_of!(Physics_, OnRandomTick) - 2056usize];
983    ["Offset of field: Physics_::OnPlace"][::std::mem::offset_of!(Physics_, OnPlace) - 4104usize];
984    ["Offset of field: Physics_::OnDelete"][::std::mem::offset_of!(Physics_, OnDelete) - 6152usize];
985};
986#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
987    pub static mut Physics: Physics_;
988}
989#[repr(C)]
990#[derive(Debug, Copy, Clone, PartialEq)]
991pub struct _CameraData {
992    pub Sensitivity: ::std::os::raw::c_int,
993    pub Smooth: cc_bool,
994    pub Clipping: cc_bool,
995    pub Invert: cc_bool,
996    pub TiltM: Matrix,
997    pub BobbingVer: f32,
998    pub BobbingHor: f32,
999    pub CurrentPos: Vec3,
1000    pub Active: *mut Camera,
1001    pub Mass: f32,
1002    pub Fov: ::std::os::raw::c_int,
1003    pub DefaultFov: ::std::os::raw::c_int,
1004    pub ZoomFov: ::std::os::raw::c_int,
1005    pub TiltPitch: f32,
1006}
1007#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1008const _: () = {
1009    ["Size of _CameraData"][::std::mem::size_of::<_CameraData>() - 128usize];
1010    ["Alignment of _CameraData"][::std::mem::align_of::<_CameraData>() - 8usize];
1011    ["Offset of field: _CameraData::Sensitivity"]
1012        [::std::mem::offset_of!(_CameraData, Sensitivity) - 0usize];
1013    ["Offset of field: _CameraData::Smooth"][::std::mem::offset_of!(_CameraData, Smooth) - 4usize];
1014    ["Offset of field: _CameraData::Clipping"]
1015        [::std::mem::offset_of!(_CameraData, Clipping) - 5usize];
1016    ["Offset of field: _CameraData::Invert"][::std::mem::offset_of!(_CameraData, Invert) - 6usize];
1017    ["Offset of field: _CameraData::TiltM"][::std::mem::offset_of!(_CameraData, TiltM) - 8usize];
1018    ["Offset of field: _CameraData::BobbingVer"]
1019        [::std::mem::offset_of!(_CameraData, BobbingVer) - 72usize];
1020    ["Offset of field: _CameraData::BobbingHor"]
1021        [::std::mem::offset_of!(_CameraData, BobbingHor) - 76usize];
1022    ["Offset of field: _CameraData::CurrentPos"]
1023        [::std::mem::offset_of!(_CameraData, CurrentPos) - 80usize];
1024    ["Offset of field: _CameraData::Active"][::std::mem::offset_of!(_CameraData, Active) - 96usize];
1025    ["Offset of field: _CameraData::Mass"][::std::mem::offset_of!(_CameraData, Mass) - 104usize];
1026    ["Offset of field: _CameraData::Fov"][::std::mem::offset_of!(_CameraData, Fov) - 108usize];
1027    ["Offset of field: _CameraData::DefaultFov"]
1028        [::std::mem::offset_of!(_CameraData, DefaultFov) - 112usize];
1029    ["Offset of field: _CameraData::ZoomFov"]
1030        [::std::mem::offset_of!(_CameraData, ZoomFov) - 116usize];
1031    ["Offset of field: _CameraData::TiltPitch"]
1032        [::std::mem::offset_of!(_CameraData, TiltPitch) - 120usize];
1033};
1034#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
1035    pub static mut Camera: _CameraData;
1036}
1037#[repr(C)]
1038#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1039pub struct Camera {
1040    pub isThirdPerson: cc_bool,
1041    pub GetProjection: ::std::option::Option<unsafe extern "C" fn(proj: *mut Matrix)>,
1042    pub GetView: ::std::option::Option<unsafe extern "C" fn(view: *mut Matrix)>,
1043    pub GetOrientation: ::std::option::Option<unsafe extern "C" fn() -> Vec2>,
1044    pub GetPosition: ::std::option::Option<unsafe extern "C" fn(t: f32) -> Vec3>,
1045    pub UpdateMouse: ::std::option::Option<unsafe extern "C" fn(p: *mut LocalPlayer, delta: f32)>,
1046    pub OnRawMovement: ::std::option::Option<
1047        unsafe extern "C" fn(deltaX: f32, deltaY: f32, deviceIndex: ::std::os::raw::c_int),
1048    >,
1049    pub AcquireFocus: ::std::option::Option<unsafe extern "C" fn()>,
1050    pub LoseFocus: ::std::option::Option<unsafe extern "C" fn()>,
1051    pub GetPickedBlock: ::std::option::Option<unsafe extern "C" fn(t: *mut RayTracer)>,
1052    pub Zoom: ::std::option::Option<unsafe extern "C" fn(amount: f32) -> cc_bool>,
1053    pub next: *mut Camera,
1054}
1055#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1056const _: () = {
1057    ["Size of Camera"][::std::mem::size_of::<Camera>() - 96usize];
1058    ["Alignment of Camera"][::std::mem::align_of::<Camera>() - 8usize];
1059    ["Offset of field: Camera::isThirdPerson"]
1060        [::std::mem::offset_of!(Camera, isThirdPerson) - 0usize];
1061    ["Offset of field: Camera::GetProjection"]
1062        [::std::mem::offset_of!(Camera, GetProjection) - 8usize];
1063    ["Offset of field: Camera::GetView"][::std::mem::offset_of!(Camera, GetView) - 16usize];
1064    ["Offset of field: Camera::GetOrientation"]
1065        [::std::mem::offset_of!(Camera, GetOrientation) - 24usize];
1066    ["Offset of field: Camera::GetPosition"][::std::mem::offset_of!(Camera, GetPosition) - 32usize];
1067    ["Offset of field: Camera::UpdateMouse"][::std::mem::offset_of!(Camera, UpdateMouse) - 40usize];
1068    ["Offset of field: Camera::OnRawMovement"]
1069        [::std::mem::offset_of!(Camera, OnRawMovement) - 48usize];
1070    ["Offset of field: Camera::AcquireFocus"]
1071        [::std::mem::offset_of!(Camera, AcquireFocus) - 56usize];
1072    ["Offset of field: Camera::LoseFocus"][::std::mem::offset_of!(Camera, LoseFocus) - 64usize];
1073    ["Offset of field: Camera::GetPickedBlock"]
1074        [::std::mem::offset_of!(Camera, GetPickedBlock) - 72usize];
1075    ["Offset of field: Camera::Zoom"][::std::mem::offset_of!(Camera, Zoom) - 80usize];
1076    ["Offset of field: Camera::next"][::std::mem::offset_of!(Camera, next) - 88usize];
1077};
1078extern "C" {
1079    pub fn Camera_Register(camera: *mut Camera);
1080}
1081pub const MsgType_MSG_TYPE_NORMAL: MsgType = 0;
1082pub const MsgType_MSG_TYPE_STATUS_1: MsgType = 1;
1083pub const MsgType_MSG_TYPE_STATUS_2: MsgType = 2;
1084pub const MsgType_MSG_TYPE_STATUS_3: MsgType = 3;
1085pub const MsgType_MSG_TYPE_BOTTOMRIGHT_1: MsgType = 11;
1086pub const MsgType_MSG_TYPE_BOTTOMRIGHT_2: MsgType = 12;
1087pub const MsgType_MSG_TYPE_BOTTOMRIGHT_3: MsgType = 13;
1088pub const MsgType_MSG_TYPE_ANNOUNCEMENT: MsgType = 100;
1089pub const MsgType_MSG_TYPE_BIGANNOUNCEMENT: MsgType = 101;
1090pub const MsgType_MSG_TYPE_SMALLANNOUNCEMENT: MsgType = 102;
1091pub const MsgType_MSG_TYPE_CLIENTSTATUS_1: MsgType = 256;
1092pub const MsgType_MSG_TYPE_CLIENTSTATUS_2: MsgType = 257;
1093pub const MsgType_MSG_TYPE_EXTRASTATUS_1: MsgType = 360;
1094pub const MsgType_MSG_TYPE_EXTRASTATUS_2: MsgType = 361;
1095pub type MsgType = ::std::os::raw::c_int;
1096#[repr(C)]
1097#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1098pub struct StringsBuffer {
1099    pub textBuffer: *mut ::std::os::raw::c_char,
1100    pub flagsBuffer: *mut cc_uint32,
1101    pub count: ::std::os::raw::c_int,
1102    pub totalLength: ::std::os::raw::c_int,
1103    pub _textCapacity: ::std::os::raw::c_int,
1104    pub _flagsCapacity: ::std::os::raw::c_int,
1105    pub _defaultBuffer: [::std::os::raw::c_char; 4096usize],
1106    pub _defaultFlags: [cc_uint32; 256usize],
1107    pub _lenShift: ::std::os::raw::c_int,
1108    pub _lenMask: ::std::os::raw::c_int,
1109}
1110#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1111const _: () = {
1112    ["Size of StringsBuffer"][::std::mem::size_of::<StringsBuffer>() - 5160usize];
1113    ["Alignment of StringsBuffer"][::std::mem::align_of::<StringsBuffer>() - 8usize];
1114    ["Offset of field: StringsBuffer::textBuffer"]
1115        [::std::mem::offset_of!(StringsBuffer, textBuffer) - 0usize];
1116    ["Offset of field: StringsBuffer::flagsBuffer"]
1117        [::std::mem::offset_of!(StringsBuffer, flagsBuffer) - 8usize];
1118    ["Offset of field: StringsBuffer::count"]
1119        [::std::mem::offset_of!(StringsBuffer, count) - 16usize];
1120    ["Offset of field: StringsBuffer::totalLength"]
1121        [::std::mem::offset_of!(StringsBuffer, totalLength) - 20usize];
1122    ["Offset of field: StringsBuffer::_textCapacity"]
1123        [::std::mem::offset_of!(StringsBuffer, _textCapacity) - 24usize];
1124    ["Offset of field: StringsBuffer::_flagsCapacity"]
1125        [::std::mem::offset_of!(StringsBuffer, _flagsCapacity) - 28usize];
1126    ["Offset of field: StringsBuffer::_defaultBuffer"]
1127        [::std::mem::offset_of!(StringsBuffer, _defaultBuffer) - 32usize];
1128    ["Offset of field: StringsBuffer::_defaultFlags"]
1129        [::std::mem::offset_of!(StringsBuffer, _defaultFlags) - 4128usize];
1130    ["Offset of field: StringsBuffer::_lenShift"]
1131        [::std::mem::offset_of!(StringsBuffer, _lenShift) - 5152usize];
1132    ["Offset of field: StringsBuffer::_lenMask"]
1133        [::std::mem::offset_of!(StringsBuffer, _lenMask) - 5156usize];
1134};
1135extern "C" {
1136    pub fn Chat_Send(text: *const cc_string, logUsage: cc_bool);
1137}
1138pub type FP_Chat_Send =
1139    ::std::option::Option<unsafe extern "C" fn(text: *const cc_string, logUsage: cc_bool)>;
1140extern "C" {
1141    pub fn Chat_Add(text: *const cc_string);
1142}
1143pub type FP_Chat_Add = ::std::option::Option<unsafe extern "C" fn(text: *const cc_string)>;
1144extern "C" {
1145    pub fn Chat_AddOf(text: *const cc_string, msgType: ::std::os::raw::c_int);
1146}
1147pub type FP_Chat_AddOf = ::std::option::Option<
1148    unsafe extern "C" fn(text: *const cc_string, msgType: ::std::os::raw::c_int),
1149>;
1150extern "C" {
1151    pub fn Chat_Add1(format: *const ::std::os::raw::c_char, a1: *const ::std::os::raw::c_void);
1152}
1153extern "C" {
1154    pub fn Chat_Add2(
1155        format: *const ::std::os::raw::c_char,
1156        a1: *const ::std::os::raw::c_void,
1157        a2: *const ::std::os::raw::c_void,
1158    );
1159}
1160extern "C" {
1161    pub fn Chat_Add3(
1162        format: *const ::std::os::raw::c_char,
1163        a1: *const ::std::os::raw::c_void,
1164        a2: *const ::std::os::raw::c_void,
1165        a3: *const ::std::os::raw::c_void,
1166    );
1167}
1168extern "C" {
1169    pub fn Chat_Add4(
1170        format: *const ::std::os::raw::c_char,
1171        a1: *const ::std::os::raw::c_void,
1172        a2: *const ::std::os::raw::c_void,
1173        a3: *const ::std::os::raw::c_void,
1174        a4: *const ::std::os::raw::c_void,
1175    );
1176}
1177#[repr(C)]
1178#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1179pub struct ChatCommand {
1180    pub name: *const ::std::os::raw::c_char,
1181    pub Execute: ::std::option::Option<
1182        unsafe extern "C" fn(args: *const cc_string, argsCount: ::std::os::raw::c_int),
1183    >,
1184    pub flags: cc_uint8,
1185    pub help: [*const ::std::os::raw::c_char; 5usize],
1186    pub next: *mut ChatCommand,
1187}
1188#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1189const _: () = {
1190    ["Size of ChatCommand"][::std::mem::size_of::<ChatCommand>() - 72usize];
1191    ["Alignment of ChatCommand"][::std::mem::align_of::<ChatCommand>() - 8usize];
1192    ["Offset of field: ChatCommand::name"][::std::mem::offset_of!(ChatCommand, name) - 0usize];
1193    ["Offset of field: ChatCommand::Execute"]
1194        [::std::mem::offset_of!(ChatCommand, Execute) - 8usize];
1195    ["Offset of field: ChatCommand::flags"][::std::mem::offset_of!(ChatCommand, flags) - 16usize];
1196    ["Offset of field: ChatCommand::help"][::std::mem::offset_of!(ChatCommand, help) - 24usize];
1197    ["Offset of field: ChatCommand::next"][::std::mem::offset_of!(ChatCommand, next) - 64usize];
1198};
1199extern "C" {
1200    pub fn Commands_Register(cmd: *mut ChatCommand);
1201}
1202pub type FP_Commands_Register = ::std::option::Option<unsafe extern "C" fn(cmd: *mut ChatCommand)>;
1203#[repr(C)]
1204#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1205pub struct GZipHeader {
1206    pub state: cc_uint8,
1207    pub done: cc_bool,
1208    pub partsRead: cc_uint8,
1209    pub flags: ::std::os::raw::c_int,
1210}
1211#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1212const _: () = {
1213    ["Size of GZipHeader"][::std::mem::size_of::<GZipHeader>() - 8usize];
1214    ["Alignment of GZipHeader"][::std::mem::align_of::<GZipHeader>() - 4usize];
1215    ["Offset of field: GZipHeader::state"][::std::mem::offset_of!(GZipHeader, state) - 0usize];
1216    ["Offset of field: GZipHeader::done"][::std::mem::offset_of!(GZipHeader, done) - 1usize];
1217    ["Offset of field: GZipHeader::partsRead"]
1218        [::std::mem::offset_of!(GZipHeader, partsRead) - 2usize];
1219    ["Offset of field: GZipHeader::flags"][::std::mem::offset_of!(GZipHeader, flags) - 4usize];
1220};
1221#[repr(C)]
1222#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1223pub struct ZLibHeader {
1224    pub state: cc_uint8,
1225    pub done: cc_bool,
1226}
1227#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1228const _: () = {
1229    ["Size of ZLibHeader"][::std::mem::size_of::<ZLibHeader>() - 2usize];
1230    ["Alignment of ZLibHeader"][::std::mem::align_of::<ZLibHeader>() - 1usize];
1231    ["Offset of field: ZLibHeader::state"][::std::mem::offset_of!(ZLibHeader, state) - 0usize];
1232    ["Offset of field: ZLibHeader::done"][::std::mem::offset_of!(ZLibHeader, done) - 1usize];
1233};
1234#[repr(C)]
1235#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1236pub struct HuffmanTable {
1237    pub fast: [cc_int16; 512usize],
1238    pub firstCodewords: [cc_uint16; 16usize],
1239    pub endCodewords: [cc_uint16; 16usize],
1240    pub firstOffsets: [cc_uint16; 16usize],
1241    pub values: [cc_uint16; 288usize],
1242}
1243#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1244const _: () = {
1245    ["Size of HuffmanTable"][::std::mem::size_of::<HuffmanTable>() - 1696usize];
1246    ["Alignment of HuffmanTable"][::std::mem::align_of::<HuffmanTable>() - 2usize];
1247    ["Offset of field: HuffmanTable::fast"][::std::mem::offset_of!(HuffmanTable, fast) - 0usize];
1248    ["Offset of field: HuffmanTable::firstCodewords"]
1249        [::std::mem::offset_of!(HuffmanTable, firstCodewords) - 1024usize];
1250    ["Offset of field: HuffmanTable::endCodewords"]
1251        [::std::mem::offset_of!(HuffmanTable, endCodewords) - 1056usize];
1252    ["Offset of field: HuffmanTable::firstOffsets"]
1253        [::std::mem::offset_of!(HuffmanTable, firstOffsets) - 1088usize];
1254    ["Offset of field: HuffmanTable::values"]
1255        [::std::mem::offset_of!(HuffmanTable, values) - 1120usize];
1256};
1257#[repr(C)]
1258#[derive(Copy, Clone)]
1259pub struct InflateState {
1260    pub State: cc_uint8,
1261    pub LastBlock: cc_bool,
1262    pub Bits: cc_uint32,
1263    pub NumBits: cc_uint32,
1264    pub NextIn: *mut cc_uint8,
1265    pub AvailIn: cc_uint32,
1266    pub Output: *mut cc_uint8,
1267    pub AvailOut: cc_uint32,
1268    pub Source: *mut Stream,
1269    pub Index: cc_uint32,
1270    pub WindowIndex: cc_uint32,
1271    pub NumCodeLens: cc_uint32,
1272    pub NumLits: cc_uint32,
1273    pub NumDists: cc_uint32,
1274    pub TmpCodeLens: cc_uint32,
1275    pub TmpLit: cc_uint32,
1276    pub TmpDist: cc_uint32,
1277    pub Input: [cc_uint8; 8192usize],
1278    pub Buffer: [cc_uint8; 320usize],
1279    pub Table: InflateState__bindgen_ty_1,
1280    pub TableDists: HuffmanTable,
1281    pub Window: [cc_uint8; 32768usize],
1282    pub result: cc_result,
1283}
1284#[repr(C)]
1285#[derive(Copy, Clone)]
1286pub union InflateState__bindgen_ty_1 {
1287    pub CodeLens: HuffmanTable,
1288    pub Lits: HuffmanTable,
1289}
1290#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1291const _: () = {
1292    ["Size of InflateState__bindgen_ty_1"]
1293        [::std::mem::size_of::<InflateState__bindgen_ty_1>() - 1696usize];
1294    ["Alignment of InflateState__bindgen_ty_1"]
1295        [::std::mem::align_of::<InflateState__bindgen_ty_1>() - 2usize];
1296    ["Offset of field: InflateState__bindgen_ty_1::CodeLens"]
1297        [::std::mem::offset_of!(InflateState__bindgen_ty_1, CodeLens) - 0usize];
1298    ["Offset of field: InflateState__bindgen_ty_1::Lits"]
1299        [::std::mem::offset_of!(InflateState__bindgen_ty_1, Lits) - 0usize];
1300};
1301#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1302const _: () = {
1303    ["Size of InflateState"][::std::mem::size_of::<InflateState>() - 44768usize];
1304    ["Alignment of InflateState"][::std::mem::align_of::<InflateState>() - 8usize];
1305    ["Offset of field: InflateState::State"][::std::mem::offset_of!(InflateState, State) - 0usize];
1306    ["Offset of field: InflateState::LastBlock"]
1307        [::std::mem::offset_of!(InflateState, LastBlock) - 1usize];
1308    ["Offset of field: InflateState::Bits"][::std::mem::offset_of!(InflateState, Bits) - 4usize];
1309    ["Offset of field: InflateState::NumBits"]
1310        [::std::mem::offset_of!(InflateState, NumBits) - 8usize];
1311    ["Offset of field: InflateState::NextIn"]
1312        [::std::mem::offset_of!(InflateState, NextIn) - 16usize];
1313    ["Offset of field: InflateState::AvailIn"]
1314        [::std::mem::offset_of!(InflateState, AvailIn) - 24usize];
1315    ["Offset of field: InflateState::Output"]
1316        [::std::mem::offset_of!(InflateState, Output) - 32usize];
1317    ["Offset of field: InflateState::AvailOut"]
1318        [::std::mem::offset_of!(InflateState, AvailOut) - 40usize];
1319    ["Offset of field: InflateState::Source"]
1320        [::std::mem::offset_of!(InflateState, Source) - 48usize];
1321    ["Offset of field: InflateState::Index"][::std::mem::offset_of!(InflateState, Index) - 56usize];
1322    ["Offset of field: InflateState::WindowIndex"]
1323        [::std::mem::offset_of!(InflateState, WindowIndex) - 60usize];
1324    ["Offset of field: InflateState::NumCodeLens"]
1325        [::std::mem::offset_of!(InflateState, NumCodeLens) - 64usize];
1326    ["Offset of field: InflateState::NumLits"]
1327        [::std::mem::offset_of!(InflateState, NumLits) - 68usize];
1328    ["Offset of field: InflateState::NumDists"]
1329        [::std::mem::offset_of!(InflateState, NumDists) - 72usize];
1330    ["Offset of field: InflateState::TmpCodeLens"]
1331        [::std::mem::offset_of!(InflateState, TmpCodeLens) - 76usize];
1332    ["Offset of field: InflateState::TmpLit"]
1333        [::std::mem::offset_of!(InflateState, TmpLit) - 80usize];
1334    ["Offset of field: InflateState::TmpDist"]
1335        [::std::mem::offset_of!(InflateState, TmpDist) - 84usize];
1336    ["Offset of field: InflateState::Input"][::std::mem::offset_of!(InflateState, Input) - 88usize];
1337    ["Offset of field: InflateState::Buffer"]
1338        [::std::mem::offset_of!(InflateState, Buffer) - 8280usize];
1339    ["Offset of field: InflateState::Table"]
1340        [::std::mem::offset_of!(InflateState, Table) - 8600usize];
1341    ["Offset of field: InflateState::TableDists"]
1342        [::std::mem::offset_of!(InflateState, TableDists) - 10296usize];
1343    ["Offset of field: InflateState::Window"]
1344        [::std::mem::offset_of!(InflateState, Window) - 11992usize];
1345    ["Offset of field: InflateState::result"]
1346        [::std::mem::offset_of!(InflateState, result) - 44760usize];
1347};
1348extern "C" {
1349    pub fn Inflate_Init2(state: *mut InflateState, source: *mut Stream);
1350}
1351extern "C" {
1352    pub fn Inflate_MakeStream2(
1353        stream: *mut Stream,
1354        state: *mut InflateState,
1355        underlying: *mut Stream,
1356    );
1357}
1358#[repr(C)]
1359#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1360pub struct DeflateState {
1361    pub Bits: cc_uint32,
1362    pub NumBits: cc_uint32,
1363    pub InputPosition: cc_uint32,
1364    pub NextOut: *mut cc_uint8,
1365    pub AvailOut: cc_uint32,
1366    pub Dest: *mut Stream,
1367    pub LitsCodewords: [cc_uint16; 288usize],
1368    pub LitsLens: [cc_uint8; 288usize],
1369    pub Input: [cc_uint8; 32768usize],
1370    pub Output: [cc_uint8; 8192usize],
1371    pub Head: [cc_uint16; 4096usize],
1372    pub Prev: [cc_uint16; 32768usize],
1373    pub WroteHeader: cc_bool,
1374}
1375#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1376const _: () = {
1377    ["Size of DeflateState"][::std::mem::size_of::<DeflateState>() - 115600usize];
1378    ["Alignment of DeflateState"][::std::mem::align_of::<DeflateState>() - 8usize];
1379    ["Offset of field: DeflateState::Bits"][::std::mem::offset_of!(DeflateState, Bits) - 0usize];
1380    ["Offset of field: DeflateState::NumBits"]
1381        [::std::mem::offset_of!(DeflateState, NumBits) - 4usize];
1382    ["Offset of field: DeflateState::InputPosition"]
1383        [::std::mem::offset_of!(DeflateState, InputPosition) - 8usize];
1384    ["Offset of field: DeflateState::NextOut"]
1385        [::std::mem::offset_of!(DeflateState, NextOut) - 16usize];
1386    ["Offset of field: DeflateState::AvailOut"]
1387        [::std::mem::offset_of!(DeflateState, AvailOut) - 24usize];
1388    ["Offset of field: DeflateState::Dest"][::std::mem::offset_of!(DeflateState, Dest) - 32usize];
1389    ["Offset of field: DeflateState::LitsCodewords"]
1390        [::std::mem::offset_of!(DeflateState, LitsCodewords) - 40usize];
1391    ["Offset of field: DeflateState::LitsLens"]
1392        [::std::mem::offset_of!(DeflateState, LitsLens) - 616usize];
1393    ["Offset of field: DeflateState::Input"]
1394        [::std::mem::offset_of!(DeflateState, Input) - 904usize];
1395    ["Offset of field: DeflateState::Output"]
1396        [::std::mem::offset_of!(DeflateState, Output) - 33672usize];
1397    ["Offset of field: DeflateState::Head"]
1398        [::std::mem::offset_of!(DeflateState, Head) - 41864usize];
1399    ["Offset of field: DeflateState::Prev"]
1400        [::std::mem::offset_of!(DeflateState, Prev) - 50056usize];
1401    ["Offset of field: DeflateState::WroteHeader"]
1402        [::std::mem::offset_of!(DeflateState, WroteHeader) - 115592usize];
1403};
1404extern "C" {
1405    pub fn Deflate_MakeStream(
1406        stream: *mut Stream,
1407        state: *mut DeflateState,
1408        underlying: *mut Stream,
1409    );
1410}
1411#[repr(C)]
1412#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1413pub struct GZipState {
1414    pub Base: DeflateState,
1415    pub Crc32: cc_uint32,
1416    pub Size: cc_uint32,
1417}
1418#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1419const _: () = {
1420    ["Size of GZipState"][::std::mem::size_of::<GZipState>() - 115608usize];
1421    ["Alignment of GZipState"][::std::mem::align_of::<GZipState>() - 8usize];
1422    ["Offset of field: GZipState::Base"][::std::mem::offset_of!(GZipState, Base) - 0usize];
1423    ["Offset of field: GZipState::Crc32"][::std::mem::offset_of!(GZipState, Crc32) - 115600usize];
1424    ["Offset of field: GZipState::Size"][::std::mem::offset_of!(GZipState, Size) - 115604usize];
1425};
1426extern "C" {
1427    pub fn GZip_MakeStream(stream: *mut Stream, state: *mut GZipState, underlying: *mut Stream);
1428}
1429pub type FP_GZip_MakeStream = ::std::option::Option<
1430    unsafe extern "C" fn(stream: *mut Stream, state: *mut GZipState, underlying: *mut Stream),
1431>;
1432#[repr(C)]
1433#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1434pub struct ZLibState {
1435    pub Base: DeflateState,
1436    pub Adler32: cc_uint32,
1437}
1438#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1439const _: () = {
1440    ["Size of ZLibState"][::std::mem::size_of::<ZLibState>() - 115608usize];
1441    ["Alignment of ZLibState"][::std::mem::align_of::<ZLibState>() - 8usize];
1442    ["Offset of field: ZLibState::Base"][::std::mem::offset_of!(ZLibState, Base) - 0usize];
1443    ["Offset of field: ZLibState::Adler32"]
1444        [::std::mem::offset_of!(ZLibState, Adler32) - 115600usize];
1445};
1446extern "C" {
1447    pub fn ZLib_MakeStream(stream: *mut Stream, state: *mut ZLibState, underlying: *mut Stream);
1448}
1449pub type FP_ZLib_MakeStream = ::std::option::Option<
1450    unsafe extern "C" fn(stream: *mut Stream, state: *mut ZLibState, underlying: *mut Stream),
1451>;
1452#[repr(C)]
1453#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1454pub struct ZipEntry {
1455    pub CompressedSize: cc_uint32,
1456    pub UncompressedSize: cc_uint32,
1457    pub LocalHeaderOffset: cc_uint32,
1458}
1459#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1460const _: () = {
1461    ["Size of ZipEntry"][::std::mem::size_of::<ZipEntry>() - 12usize];
1462    ["Alignment of ZipEntry"][::std::mem::align_of::<ZipEntry>() - 4usize];
1463    ["Offset of field: ZipEntry::CompressedSize"]
1464        [::std::mem::offset_of!(ZipEntry, CompressedSize) - 0usize];
1465    ["Offset of field: ZipEntry::UncompressedSize"]
1466        [::std::mem::offset_of!(ZipEntry, UncompressedSize) - 4usize];
1467    ["Offset of field: ZipEntry::LocalHeaderOffset"]
1468        [::std::mem::offset_of!(ZipEntry, LocalHeaderOffset) - 8usize];
1469};
1470pub type Zip_ProcessEntry = ::std::option::Option<
1471    unsafe extern "C" fn(
1472        path: *const cc_string,
1473        data: *mut Stream,
1474        entry: *mut ZipEntry,
1475    ) -> cc_result,
1476>;
1477pub type Zip_SelectEntry =
1478    ::std::option::Option<unsafe extern "C" fn(path: *const cc_string) -> cc_bool>;
1479#[repr(C)]
1480#[derive(Debug, Copy, Clone, PartialEq)]
1481pub struct _DrawerData {
1482    pub Tinted: cc_bool,
1483    pub TintCol: PackedCol,
1484    pub MinBB: Vec3,
1485    pub MaxBB: Vec3,
1486    pub X1: f32,
1487    pub Y1: f32,
1488    pub Z1: f32,
1489    pub X2: f32,
1490    pub Y2: f32,
1491    pub Z2: f32,
1492}
1493#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1494const _: () = {
1495    ["Size of _DrawerData"][::std::mem::size_of::<_DrawerData>() - 56usize];
1496    ["Alignment of _DrawerData"][::std::mem::align_of::<_DrawerData>() - 4usize];
1497    ["Offset of field: _DrawerData::Tinted"][::std::mem::offset_of!(_DrawerData, Tinted) - 0usize];
1498    ["Offset of field: _DrawerData::TintCol"]
1499        [::std::mem::offset_of!(_DrawerData, TintCol) - 4usize];
1500    ["Offset of field: _DrawerData::MinBB"][::std::mem::offset_of!(_DrawerData, MinBB) - 8usize];
1501    ["Offset of field: _DrawerData::MaxBB"][::std::mem::offset_of!(_DrawerData, MaxBB) - 20usize];
1502    ["Offset of field: _DrawerData::X1"][::std::mem::offset_of!(_DrawerData, X1) - 32usize];
1503    ["Offset of field: _DrawerData::Y1"][::std::mem::offset_of!(_DrawerData, Y1) - 36usize];
1504    ["Offset of field: _DrawerData::Z1"][::std::mem::offset_of!(_DrawerData, Z1) - 40usize];
1505    ["Offset of field: _DrawerData::X2"][::std::mem::offset_of!(_DrawerData, X2) - 44usize];
1506    ["Offset of field: _DrawerData::Y2"][::std::mem::offset_of!(_DrawerData, Y2) - 48usize];
1507    ["Offset of field: _DrawerData::Z2"][::std::mem::offset_of!(_DrawerData, Z2) - 52usize];
1508};
1509#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
1510    pub static mut Drawer: _DrawerData;
1511}
1512extern "C" {
1513    pub fn Drawer_XMin(
1514        count: ::std::os::raw::c_int,
1515        col: PackedCol,
1516        texLoc: TextureLoc,
1517        vertices: *mut *mut VertexTextured,
1518    );
1519}
1520extern "C" {
1521    pub fn Drawer_XMax(
1522        count: ::std::os::raw::c_int,
1523        col: PackedCol,
1524        texLoc: TextureLoc,
1525        vertices: *mut *mut VertexTextured,
1526    );
1527}
1528extern "C" {
1529    pub fn Drawer_ZMin(
1530        count: ::std::os::raw::c_int,
1531        col: PackedCol,
1532        texLoc: TextureLoc,
1533        vertices: *mut *mut VertexTextured,
1534    );
1535}
1536extern "C" {
1537    pub fn Drawer_ZMax(
1538        count: ::std::os::raw::c_int,
1539        col: PackedCol,
1540        texLoc: TextureLoc,
1541        vertices: *mut *mut VertexTextured,
1542    );
1543}
1544extern "C" {
1545    pub fn Drawer_YMin(
1546        count: ::std::os::raw::c_int,
1547        col: PackedCol,
1548        texLoc: TextureLoc,
1549        vertices: *mut *mut VertexTextured,
1550    );
1551}
1552extern "C" {
1553    pub fn Drawer_YMax(
1554        count: ::std::os::raw::c_int,
1555        col: PackedCol,
1556        texLoc: TextureLoc,
1557        vertices: *mut *mut VertexTextured,
1558    );
1559}
1560pub const FONT_FLAGS_FONT_FLAGS_NONE: FONT_FLAGS = 0;
1561pub const FONT_FLAGS_FONT_FLAGS_BOLD: FONT_FLAGS = 1;
1562pub const FONT_FLAGS_FONT_FLAGS_UNDERLINE: FONT_FLAGS = 2;
1563pub const FONT_FLAGS_FONT_FLAGS_PADDING: FONT_FLAGS = 4;
1564pub type FONT_FLAGS = ::std::os::raw::c_int;
1565#[repr(C)]
1566#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1567pub struct FontDesc {
1568    pub handle: *mut ::std::os::raw::c_void,
1569    pub size: cc_uint16,
1570    pub flags: cc_uint16,
1571    pub height: ::std::os::raw::c_int,
1572}
1573#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1574const _: () = {
1575    ["Size of FontDesc"][::std::mem::size_of::<FontDesc>() - 16usize];
1576    ["Alignment of FontDesc"][::std::mem::align_of::<FontDesc>() - 8usize];
1577    ["Offset of field: FontDesc::handle"][::std::mem::offset_of!(FontDesc, handle) - 0usize];
1578    ["Offset of field: FontDesc::size"][::std::mem::offset_of!(FontDesc, size) - 8usize];
1579    ["Offset of field: FontDesc::flags"][::std::mem::offset_of!(FontDesc, flags) - 10usize];
1580    ["Offset of field: FontDesc::height"][::std::mem::offset_of!(FontDesc, height) - 12usize];
1581};
1582#[repr(C)]
1583#[derive(Debug, Hash, PartialEq, Eq)]
1584pub struct DrawTextArgs {
1585    pub text: cc_string,
1586    pub font: *mut FontDesc,
1587    pub useShadow: cc_bool,
1588}
1589#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1590const _: () = {
1591    ["Size of DrawTextArgs"][::std::mem::size_of::<DrawTextArgs>() - 32usize];
1592    ["Alignment of DrawTextArgs"][::std::mem::align_of::<DrawTextArgs>() - 8usize];
1593    ["Offset of field: DrawTextArgs::text"][::std::mem::offset_of!(DrawTextArgs, text) - 0usize];
1594    ["Offset of field: DrawTextArgs::font"][::std::mem::offset_of!(DrawTextArgs, font) - 16usize];
1595    ["Offset of field: DrawTextArgs::useShadow"]
1596        [::std::mem::offset_of!(DrawTextArgs, useShadow) - 24usize];
1597};
1598#[repr(C)]
1599#[derive(Debug, Hash, PartialEq, Eq)]
1600pub struct Context2D {
1601    pub bmp: Bitmap,
1602    pub width: ::std::os::raw::c_int,
1603    pub height: ::std::os::raw::c_int,
1604    pub meta: *mut ::std::os::raw::c_void,
1605}
1606#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1607const _: () = {
1608    ["Size of Context2D"][::std::mem::size_of::<Context2D>() - 32usize];
1609    ["Alignment of Context2D"][::std::mem::align_of::<Context2D>() - 8usize];
1610    ["Offset of field: Context2D::bmp"][::std::mem::offset_of!(Context2D, bmp) - 0usize];
1611    ["Offset of field: Context2D::width"][::std::mem::offset_of!(Context2D, width) - 16usize];
1612    ["Offset of field: Context2D::height"][::std::mem::offset_of!(Context2D, height) - 20usize];
1613    ["Offset of field: Context2D::meta"][::std::mem::offset_of!(Context2D, meta) - 24usize];
1614};
1615#[repr(C)]
1616#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1617pub struct _Drawer2DData {
1618    pub BitmappedText: cc_bool,
1619    pub BlackTextShadows: cc_bool,
1620    pub Colors: [BitmapCol; 256usize],
1621}
1622#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1623const _: () = {
1624    ["Size of _Drawer2DData"][::std::mem::size_of::<_Drawer2DData>() - 1028usize];
1625    ["Alignment of _Drawer2DData"][::std::mem::align_of::<_Drawer2DData>() - 4usize];
1626    ["Offset of field: _Drawer2DData::BitmappedText"]
1627        [::std::mem::offset_of!(_Drawer2DData, BitmappedText) - 0usize];
1628    ["Offset of field: _Drawer2DData::BlackTextShadows"]
1629        [::std::mem::offset_of!(_Drawer2DData, BlackTextShadows) - 1usize];
1630    ["Offset of field: _Drawer2DData::Colors"]
1631        [::std::mem::offset_of!(_Drawer2DData, Colors) - 4usize];
1632};
1633#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
1634    pub static mut Drawer2D: _Drawer2DData;
1635}
1636extern "C" {
1637    pub fn Context2D_Alloc(
1638        ctx: *mut Context2D,
1639        width: ::std::os::raw::c_int,
1640        height: ::std::os::raw::c_int,
1641    );
1642}
1643extern "C" {
1644    pub fn Context2D_Wrap(ctx: *mut Context2D, bmp: *mut Bitmap);
1645}
1646extern "C" {
1647    pub fn Context2D_Free(ctx: *mut Context2D);
1648}
1649extern "C" {
1650    pub fn Context2D_MakeTexture(tex: *mut Texture, ctx: *mut Context2D);
1651}
1652extern "C" {
1653    pub fn Context2D_DrawText(
1654        ctx: *mut Context2D,
1655        args: *mut DrawTextArgs,
1656        x: ::std::os::raw::c_int,
1657        y: ::std::os::raw::c_int,
1658    );
1659}
1660extern "C" {
1661    pub fn Context2D_DrawPixels(
1662        ctx: *mut Context2D,
1663        x: ::std::os::raw::c_int,
1664        y: ::std::os::raw::c_int,
1665        src: *mut Bitmap,
1666    );
1667}
1668extern "C" {
1669    pub fn Context2D_Clear(
1670        ctx: *mut Context2D,
1671        color: BitmapCol,
1672        x: ::std::os::raw::c_int,
1673        y: ::std::os::raw::c_int,
1674        width: ::std::os::raw::c_int,
1675        height: ::std::os::raw::c_int,
1676    );
1677}
1678extern "C" {
1679    pub fn Gradient_Noise(
1680        ctx: *mut Context2D,
1681        color: BitmapCol,
1682        variation: ::std::os::raw::c_int,
1683        x: ::std::os::raw::c_int,
1684        y: ::std::os::raw::c_int,
1685        width: ::std::os::raw::c_int,
1686        height: ::std::os::raw::c_int,
1687    );
1688}
1689extern "C" {
1690    pub fn Gradient_Vertical(
1691        ctx: *mut Context2D,
1692        a: BitmapCol,
1693        b: BitmapCol,
1694        x: ::std::os::raw::c_int,
1695        y: ::std::os::raw::c_int,
1696        width: ::std::os::raw::c_int,
1697        height: ::std::os::raw::c_int,
1698    );
1699}
1700extern "C" {
1701    pub fn Gradient_Blend(
1702        ctx: *mut Context2D,
1703        color: BitmapCol,
1704        blend: ::std::os::raw::c_int,
1705        x: ::std::os::raw::c_int,
1706        y: ::std::os::raw::c_int,
1707        width: ::std::os::raw::c_int,
1708        height: ::std::os::raw::c_int,
1709    );
1710}
1711extern "C" {
1712    pub fn Drawer2D_TextWidth(args: *mut DrawTextArgs) -> ::std::os::raw::c_int;
1713}
1714extern "C" {
1715    pub fn Drawer2D_TextHeight(args: *mut DrawTextArgs) -> ::std::os::raw::c_int;
1716}
1717extern "C" {
1718    pub fn Drawer2D_MakeTextTexture(tex: *mut Texture, args: *mut DrawTextArgs);
1719}
1720extern "C" {
1721    pub fn Font_Make(
1722        desc: *mut FontDesc,
1723        size: ::std::os::raw::c_int,
1724        flags: ::std::os::raw::c_int,
1725    );
1726}
1727extern "C" {
1728    pub fn Font_Free(desc: *mut FontDesc);
1729}
1730#[repr(C)]
1731#[derive(Debug, Copy, Clone, PartialEq)]
1732pub struct AnimatedComp {
1733    pub BobbingHor: f32,
1734    pub BobbingVer: f32,
1735    pub BobbingModel: f32,
1736    pub WalkTime: f32,
1737    pub Swing: f32,
1738    pub BobStrength: f32,
1739    pub WalkTimeO: f32,
1740    pub WalkTimeN: f32,
1741    pub SwingO: f32,
1742    pub SwingN: f32,
1743    pub BobStrengthO: f32,
1744    pub BobStrengthN: f32,
1745    pub LeftLegX: f32,
1746    pub LeftLegZ: f32,
1747    pub RightLegX: f32,
1748    pub RightLegZ: f32,
1749    pub LeftArmX: f32,
1750    pub LeftArmZ: f32,
1751    pub RightArmX: f32,
1752    pub RightArmZ: f32,
1753}
1754#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1755const _: () = {
1756    ["Size of AnimatedComp"][::std::mem::size_of::<AnimatedComp>() - 80usize];
1757    ["Alignment of AnimatedComp"][::std::mem::align_of::<AnimatedComp>() - 4usize];
1758    ["Offset of field: AnimatedComp::BobbingHor"]
1759        [::std::mem::offset_of!(AnimatedComp, BobbingHor) - 0usize];
1760    ["Offset of field: AnimatedComp::BobbingVer"]
1761        [::std::mem::offset_of!(AnimatedComp, BobbingVer) - 4usize];
1762    ["Offset of field: AnimatedComp::BobbingModel"]
1763        [::std::mem::offset_of!(AnimatedComp, BobbingModel) - 8usize];
1764    ["Offset of field: AnimatedComp::WalkTime"]
1765        [::std::mem::offset_of!(AnimatedComp, WalkTime) - 12usize];
1766    ["Offset of field: AnimatedComp::Swing"][::std::mem::offset_of!(AnimatedComp, Swing) - 16usize];
1767    ["Offset of field: AnimatedComp::BobStrength"]
1768        [::std::mem::offset_of!(AnimatedComp, BobStrength) - 20usize];
1769    ["Offset of field: AnimatedComp::WalkTimeO"]
1770        [::std::mem::offset_of!(AnimatedComp, WalkTimeO) - 24usize];
1771    ["Offset of field: AnimatedComp::WalkTimeN"]
1772        [::std::mem::offset_of!(AnimatedComp, WalkTimeN) - 28usize];
1773    ["Offset of field: AnimatedComp::SwingO"]
1774        [::std::mem::offset_of!(AnimatedComp, SwingO) - 32usize];
1775    ["Offset of field: AnimatedComp::SwingN"]
1776        [::std::mem::offset_of!(AnimatedComp, SwingN) - 36usize];
1777    ["Offset of field: AnimatedComp::BobStrengthO"]
1778        [::std::mem::offset_of!(AnimatedComp, BobStrengthO) - 40usize];
1779    ["Offset of field: AnimatedComp::BobStrengthN"]
1780        [::std::mem::offset_of!(AnimatedComp, BobStrengthN) - 44usize];
1781    ["Offset of field: AnimatedComp::LeftLegX"]
1782        [::std::mem::offset_of!(AnimatedComp, LeftLegX) - 48usize];
1783    ["Offset of field: AnimatedComp::LeftLegZ"]
1784        [::std::mem::offset_of!(AnimatedComp, LeftLegZ) - 52usize];
1785    ["Offset of field: AnimatedComp::RightLegX"]
1786        [::std::mem::offset_of!(AnimatedComp, RightLegX) - 56usize];
1787    ["Offset of field: AnimatedComp::RightLegZ"]
1788        [::std::mem::offset_of!(AnimatedComp, RightLegZ) - 60usize];
1789    ["Offset of field: AnimatedComp::LeftArmX"]
1790        [::std::mem::offset_of!(AnimatedComp, LeftArmX) - 64usize];
1791    ["Offset of field: AnimatedComp::LeftArmZ"]
1792        [::std::mem::offset_of!(AnimatedComp, LeftArmZ) - 68usize];
1793    ["Offset of field: AnimatedComp::RightArmX"]
1794        [::std::mem::offset_of!(AnimatedComp, RightArmX) - 72usize];
1795    ["Offset of field: AnimatedComp::RightArmZ"]
1796        [::std::mem::offset_of!(AnimatedComp, RightArmZ) - 76usize];
1797};
1798#[repr(C)]
1799#[derive(Debug, Copy, Clone, PartialEq)]
1800pub struct TiltComp {
1801    pub TiltX: f32,
1802    pub TiltY: f32,
1803    pub VelTiltStrength: f32,
1804    pub VelTiltStrengthO: f32,
1805    pub VelTiltStrengthN: f32,
1806}
1807#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1808const _: () = {
1809    ["Size of TiltComp"][::std::mem::size_of::<TiltComp>() - 20usize];
1810    ["Alignment of TiltComp"][::std::mem::align_of::<TiltComp>() - 4usize];
1811    ["Offset of field: TiltComp::TiltX"][::std::mem::offset_of!(TiltComp, TiltX) - 0usize];
1812    ["Offset of field: TiltComp::TiltY"][::std::mem::offset_of!(TiltComp, TiltY) - 4usize];
1813    ["Offset of field: TiltComp::VelTiltStrength"]
1814        [::std::mem::offset_of!(TiltComp, VelTiltStrength) - 8usize];
1815    ["Offset of field: TiltComp::VelTiltStrengthO"]
1816        [::std::mem::offset_of!(TiltComp, VelTiltStrengthO) - 12usize];
1817    ["Offset of field: TiltComp::VelTiltStrengthN"]
1818        [::std::mem::offset_of!(TiltComp, VelTiltStrengthN) - 16usize];
1819};
1820#[repr(C)]
1821#[derive(Debug, PartialEq)]
1822pub struct HacksComp {
1823    pub IsOp: cc_bool,
1824    pub Floating: cc_bool,
1825    pub _noclipping: cc_bool,
1826    pub SpeedMultiplier: f32,
1827    pub PushbackPlacing: cc_bool,
1828    pub FullBlockStep: cc_bool,
1829    pub Enabled: cc_bool,
1830    pub CanAnyHacks: cc_bool,
1831    pub CanUseThirdPerson: cc_bool,
1832    pub CanSpeed: cc_bool,
1833    pub CanFly: cc_bool,
1834    pub CanRespawn: cc_bool,
1835    pub CanNoclip: cc_bool,
1836    pub CanPushbackBlocks: cc_bool,
1837    pub CanSeeAllNames: cc_bool,
1838    pub CanDoubleJump: cc_bool,
1839    pub CanBePushed: cc_bool,
1840    pub BaseHorSpeed: f32,
1841    pub MaxJumps: ::std::os::raw::c_int,
1842    pub NoclipSlide: cc_bool,
1843    pub WOMStyleHacks: cc_bool,
1844    pub Noclip: cc_bool,
1845    pub Flying: cc_bool,
1846    pub FlyingUp: cc_bool,
1847    pub FlyingDown: cc_bool,
1848    pub Speeding: cc_bool,
1849    pub HalfSpeeding: cc_bool,
1850    pub MaxHorSpeed: f32,
1851    pub HacksFlags: cc_string,
1852    pub __HacksFlagsBuffer: [::std::os::raw::c_char; 128usize],
1853}
1854#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1855const _: () = {
1856    ["Size of HacksComp"][::std::mem::size_of::<HacksComp>() - 192usize];
1857    ["Alignment of HacksComp"][::std::mem::align_of::<HacksComp>() - 8usize];
1858    ["Offset of field: HacksComp::IsOp"][::std::mem::offset_of!(HacksComp, IsOp) - 0usize];
1859    ["Offset of field: HacksComp::Floating"][::std::mem::offset_of!(HacksComp, Floating) - 1usize];
1860    ["Offset of field: HacksComp::_noclipping"]
1861        [::std::mem::offset_of!(HacksComp, _noclipping) - 2usize];
1862    ["Offset of field: HacksComp::SpeedMultiplier"]
1863        [::std::mem::offset_of!(HacksComp, SpeedMultiplier) - 4usize];
1864    ["Offset of field: HacksComp::PushbackPlacing"]
1865        [::std::mem::offset_of!(HacksComp, PushbackPlacing) - 8usize];
1866    ["Offset of field: HacksComp::FullBlockStep"]
1867        [::std::mem::offset_of!(HacksComp, FullBlockStep) - 9usize];
1868    ["Offset of field: HacksComp::Enabled"][::std::mem::offset_of!(HacksComp, Enabled) - 10usize];
1869    ["Offset of field: HacksComp::CanAnyHacks"]
1870        [::std::mem::offset_of!(HacksComp, CanAnyHacks) - 11usize];
1871    ["Offset of field: HacksComp::CanUseThirdPerson"]
1872        [::std::mem::offset_of!(HacksComp, CanUseThirdPerson) - 12usize];
1873    ["Offset of field: HacksComp::CanSpeed"][::std::mem::offset_of!(HacksComp, CanSpeed) - 13usize];
1874    ["Offset of field: HacksComp::CanFly"][::std::mem::offset_of!(HacksComp, CanFly) - 14usize];
1875    ["Offset of field: HacksComp::CanRespawn"]
1876        [::std::mem::offset_of!(HacksComp, CanRespawn) - 15usize];
1877    ["Offset of field: HacksComp::CanNoclip"]
1878        [::std::mem::offset_of!(HacksComp, CanNoclip) - 16usize];
1879    ["Offset of field: HacksComp::CanPushbackBlocks"]
1880        [::std::mem::offset_of!(HacksComp, CanPushbackBlocks) - 17usize];
1881    ["Offset of field: HacksComp::CanSeeAllNames"]
1882        [::std::mem::offset_of!(HacksComp, CanSeeAllNames) - 18usize];
1883    ["Offset of field: HacksComp::CanDoubleJump"]
1884        [::std::mem::offset_of!(HacksComp, CanDoubleJump) - 19usize];
1885    ["Offset of field: HacksComp::CanBePushed"]
1886        [::std::mem::offset_of!(HacksComp, CanBePushed) - 20usize];
1887    ["Offset of field: HacksComp::BaseHorSpeed"]
1888        [::std::mem::offset_of!(HacksComp, BaseHorSpeed) - 24usize];
1889    ["Offset of field: HacksComp::MaxJumps"][::std::mem::offset_of!(HacksComp, MaxJumps) - 28usize];
1890    ["Offset of field: HacksComp::NoclipSlide"]
1891        [::std::mem::offset_of!(HacksComp, NoclipSlide) - 32usize];
1892    ["Offset of field: HacksComp::WOMStyleHacks"]
1893        [::std::mem::offset_of!(HacksComp, WOMStyleHacks) - 33usize];
1894    ["Offset of field: HacksComp::Noclip"][::std::mem::offset_of!(HacksComp, Noclip) - 34usize];
1895    ["Offset of field: HacksComp::Flying"][::std::mem::offset_of!(HacksComp, Flying) - 35usize];
1896    ["Offset of field: HacksComp::FlyingUp"][::std::mem::offset_of!(HacksComp, FlyingUp) - 36usize];
1897    ["Offset of field: HacksComp::FlyingDown"]
1898        [::std::mem::offset_of!(HacksComp, FlyingDown) - 37usize];
1899    ["Offset of field: HacksComp::Speeding"][::std::mem::offset_of!(HacksComp, Speeding) - 38usize];
1900    ["Offset of field: HacksComp::HalfSpeeding"]
1901        [::std::mem::offset_of!(HacksComp, HalfSpeeding) - 39usize];
1902    ["Offset of field: HacksComp::MaxHorSpeed"]
1903        [::std::mem::offset_of!(HacksComp, MaxHorSpeed) - 40usize];
1904    ["Offset of field: HacksComp::HacksFlags"]
1905        [::std::mem::offset_of!(HacksComp, HacksFlags) - 48usize];
1906    ["Offset of field: HacksComp::__HacksFlagsBuffer"]
1907        [::std::mem::offset_of!(HacksComp, __HacksFlagsBuffer) - 64usize];
1908};
1909#[repr(C)]
1910#[derive(Debug, Copy, Clone, PartialEq)]
1911pub struct InterpComp {
1912    pub RotYCount: ::std::os::raw::c_int,
1913    pub RotYStates: [f32; 15usize],
1914}
1915#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1916const _: () = {
1917    ["Size of InterpComp"][::std::mem::size_of::<InterpComp>() - 64usize];
1918    ["Alignment of InterpComp"][::std::mem::align_of::<InterpComp>() - 4usize];
1919    ["Offset of field: InterpComp::RotYCount"]
1920        [::std::mem::offset_of!(InterpComp, RotYCount) - 0usize];
1921    ["Offset of field: InterpComp::RotYStates"]
1922        [::std::mem::offset_of!(InterpComp, RotYStates) - 4usize];
1923};
1924#[repr(C)]
1925#[derive(Debug, Copy, Clone, PartialEq)]
1926pub struct NetInterpAngles {
1927    pub Pitch: f32,
1928    pub Yaw: f32,
1929    pub RotX: f32,
1930    pub RotZ: f32,
1931}
1932#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1933const _: () = {
1934    ["Size of NetInterpAngles"][::std::mem::size_of::<NetInterpAngles>() - 16usize];
1935    ["Alignment of NetInterpAngles"][::std::mem::align_of::<NetInterpAngles>() - 4usize];
1936    ["Offset of field: NetInterpAngles::Pitch"]
1937        [::std::mem::offset_of!(NetInterpAngles, Pitch) - 0usize];
1938    ["Offset of field: NetInterpAngles::Yaw"]
1939        [::std::mem::offset_of!(NetInterpAngles, Yaw) - 4usize];
1940    ["Offset of field: NetInterpAngles::RotX"]
1941        [::std::mem::offset_of!(NetInterpAngles, RotX) - 8usize];
1942    ["Offset of field: NetInterpAngles::RotZ"]
1943        [::std::mem::offset_of!(NetInterpAngles, RotZ) - 12usize];
1944};
1945#[repr(C)]
1946#[derive(Debug, Copy, Clone, PartialEq)]
1947pub struct NetInterpComp {
1948    pub RotYCount: ::std::os::raw::c_int,
1949    pub RotYStates: [f32; 15usize],
1950    pub CurPos: Vec3,
1951    pub CurAngles: NetInterpAngles,
1952    pub PositionsCount: ::std::os::raw::c_int,
1953    pub AnglesCount: ::std::os::raw::c_int,
1954    pub Positions: [Vec3; 10usize],
1955    pub Angles: [NetInterpAngles; 10usize],
1956}
1957#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1958const _: () = {
1959    ["Size of NetInterpComp"][::std::mem::size_of::<NetInterpComp>() - 380usize];
1960    ["Alignment of NetInterpComp"][::std::mem::align_of::<NetInterpComp>() - 4usize];
1961    ["Offset of field: NetInterpComp::RotYCount"]
1962        [::std::mem::offset_of!(NetInterpComp, RotYCount) - 0usize];
1963    ["Offset of field: NetInterpComp::RotYStates"]
1964        [::std::mem::offset_of!(NetInterpComp, RotYStates) - 4usize];
1965    ["Offset of field: NetInterpComp::CurPos"]
1966        [::std::mem::offset_of!(NetInterpComp, CurPos) - 64usize];
1967    ["Offset of field: NetInterpComp::CurAngles"]
1968        [::std::mem::offset_of!(NetInterpComp, CurAngles) - 76usize];
1969    ["Offset of field: NetInterpComp::PositionsCount"]
1970        [::std::mem::offset_of!(NetInterpComp, PositionsCount) - 92usize];
1971    ["Offset of field: NetInterpComp::AnglesCount"]
1972        [::std::mem::offset_of!(NetInterpComp, AnglesCount) - 96usize];
1973    ["Offset of field: NetInterpComp::Positions"]
1974        [::std::mem::offset_of!(NetInterpComp, Positions) - 100usize];
1975    ["Offset of field: NetInterpComp::Angles"]
1976        [::std::mem::offset_of!(NetInterpComp, Angles) - 220usize];
1977};
1978#[repr(C)]
1979#[derive(Debug, Copy, Clone, PartialEq)]
1980pub struct CollisionsComp {
1981    pub Entity: *mut Entity,
1982    pub HitXMin: cc_bool,
1983    pub HitYMin: cc_bool,
1984    pub HitZMin: cc_bool,
1985    pub HitXMax: cc_bool,
1986    pub HitYMax: cc_bool,
1987    pub HitZMax: cc_bool,
1988    pub WasOn: cc_bool,
1989    pub StepSize: f32,
1990}
1991#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1992const _: () = {
1993    ["Size of CollisionsComp"][::std::mem::size_of::<CollisionsComp>() - 24usize];
1994    ["Alignment of CollisionsComp"][::std::mem::align_of::<CollisionsComp>() - 8usize];
1995    ["Offset of field: CollisionsComp::Entity"]
1996        [::std::mem::offset_of!(CollisionsComp, Entity) - 0usize];
1997    ["Offset of field: CollisionsComp::HitXMin"]
1998        [::std::mem::offset_of!(CollisionsComp, HitXMin) - 8usize];
1999    ["Offset of field: CollisionsComp::HitYMin"]
2000        [::std::mem::offset_of!(CollisionsComp, HitYMin) - 9usize];
2001    ["Offset of field: CollisionsComp::HitZMin"]
2002        [::std::mem::offset_of!(CollisionsComp, HitZMin) - 10usize];
2003    ["Offset of field: CollisionsComp::HitXMax"]
2004        [::std::mem::offset_of!(CollisionsComp, HitXMax) - 11usize];
2005    ["Offset of field: CollisionsComp::HitYMax"]
2006        [::std::mem::offset_of!(CollisionsComp, HitYMax) - 12usize];
2007    ["Offset of field: CollisionsComp::HitZMax"]
2008        [::std::mem::offset_of!(CollisionsComp, HitZMax) - 13usize];
2009    ["Offset of field: CollisionsComp::WasOn"]
2010        [::std::mem::offset_of!(CollisionsComp, WasOn) - 14usize];
2011    ["Offset of field: CollisionsComp::StepSize"]
2012        [::std::mem::offset_of!(CollisionsComp, StepSize) - 16usize];
2013};
2014#[repr(C)]
2015#[derive(Debug, Copy, Clone, PartialEq)]
2016pub struct PhysicsComp {
2017    pub UseLiquidGravity: cc_bool,
2018    pub CanLiquidJump: cc_bool,
2019    pub Jumping: cc_bool,
2020    pub MultiJumps: ::std::os::raw::c_int,
2021    pub Entity: *mut Entity,
2022    pub JumpVel: f32,
2023    pub UserJumpVel: f32,
2024    pub ServerJumpVel: f32,
2025    pub Hacks: *mut HacksComp,
2026    pub Collisions: *mut CollisionsComp,
2027}
2028#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2029const _: () = {
2030    ["Size of PhysicsComp"][::std::mem::size_of::<PhysicsComp>() - 48usize];
2031    ["Alignment of PhysicsComp"][::std::mem::align_of::<PhysicsComp>() - 8usize];
2032    ["Offset of field: PhysicsComp::UseLiquidGravity"]
2033        [::std::mem::offset_of!(PhysicsComp, UseLiquidGravity) - 0usize];
2034    ["Offset of field: PhysicsComp::CanLiquidJump"]
2035        [::std::mem::offset_of!(PhysicsComp, CanLiquidJump) - 1usize];
2036    ["Offset of field: PhysicsComp::Jumping"]
2037        [::std::mem::offset_of!(PhysicsComp, Jumping) - 2usize];
2038    ["Offset of field: PhysicsComp::MultiJumps"]
2039        [::std::mem::offset_of!(PhysicsComp, MultiJumps) - 4usize];
2040    ["Offset of field: PhysicsComp::Entity"][::std::mem::offset_of!(PhysicsComp, Entity) - 8usize];
2041    ["Offset of field: PhysicsComp::JumpVel"]
2042        [::std::mem::offset_of!(PhysicsComp, JumpVel) - 16usize];
2043    ["Offset of field: PhysicsComp::UserJumpVel"]
2044        [::std::mem::offset_of!(PhysicsComp, UserJumpVel) - 20usize];
2045    ["Offset of field: PhysicsComp::ServerJumpVel"]
2046        [::std::mem::offset_of!(PhysicsComp, ServerJumpVel) - 24usize];
2047    ["Offset of field: PhysicsComp::Hacks"][::std::mem::offset_of!(PhysicsComp, Hacks) - 32usize];
2048    ["Offset of field: PhysicsComp::Collisions"]
2049        [::std::mem::offset_of!(PhysicsComp, Collisions) - 40usize];
2050};
2051#[repr(C)]
2052#[derive(Debug, Copy, Clone, PartialEq)]
2053pub struct AABB {
2054    pub Min: Vec3,
2055    pub Max: Vec3,
2056}
2057#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2058const _: () = {
2059    ["Size of AABB"][::std::mem::size_of::<AABB>() - 24usize];
2060    ["Alignment of AABB"][::std::mem::align_of::<AABB>() - 4usize];
2061    ["Offset of field: AABB::Min"][::std::mem::offset_of!(AABB, Min) - 0usize];
2062    ["Offset of field: AABB::Max"][::std::mem::offset_of!(AABB, Max) - 12usize];
2063};
2064extern "C" {
2065    pub fn AABB_Make(result: *mut AABB, pos: *const Vec3, size: *const Vec3);
2066}
2067#[repr(C)]
2068#[derive(Debug, Copy, Clone, PartialEq)]
2069pub struct SearcherState {
2070    pub x: ::std::os::raw::c_int,
2071    pub y: ::std::os::raw::c_int,
2072    pub z: ::std::os::raw::c_int,
2073    pub tSquared: f32,
2074}
2075#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2076const _: () = {
2077    ["Size of SearcherState"][::std::mem::size_of::<SearcherState>() - 16usize];
2078    ["Alignment of SearcherState"][::std::mem::align_of::<SearcherState>() - 4usize];
2079    ["Offset of field: SearcherState::x"][::std::mem::offset_of!(SearcherState, x) - 0usize];
2080    ["Offset of field: SearcherState::y"][::std::mem::offset_of!(SearcherState, y) - 4usize];
2081    ["Offset of field: SearcherState::z"][::std::mem::offset_of!(SearcherState, z) - 8usize];
2082    ["Offset of field: SearcherState::tSquared"]
2083        [::std::mem::offset_of!(SearcherState, tSquared) - 12usize];
2084};
2085extern "C" {
2086    pub fn String_CalcLen(
2087        raw: *const ::std::os::raw::c_char,
2088        capacity: ::std::os::raw::c_int,
2089    ) -> ::std::os::raw::c_int;
2090}
2091extern "C" {
2092    pub fn String_FromReadonly(buffer: *const ::std::os::raw::c_char) -> cc_string;
2093}
2094extern "C" {
2095    pub fn String_Copy(dst: *mut cc_string, src: *const cc_string);
2096}
2097extern "C" {
2098    pub fn String_CopyToRaw(
2099        dst: *mut ::std::os::raw::c_char,
2100        capacity: ::std::os::raw::c_int,
2101        src: *const cc_string,
2102    );
2103}
2104extern "C" {
2105    pub fn String_UNSAFE_Substring(
2106        str_: *const cc_string,
2107        offset: ::std::os::raw::c_int,
2108        length: ::std::os::raw::c_int,
2109    ) -> cc_string;
2110}
2111extern "C" {
2112    pub fn String_UNSAFE_SubstringAt(
2113        str_: *const cc_string,
2114        offset: ::std::os::raw::c_int,
2115    ) -> cc_string;
2116}
2117extern "C" {
2118    pub fn String_UNSAFE_Split(
2119        str_: *const cc_string,
2120        c: ::std::os::raw::c_char,
2121        subs: *mut cc_string,
2122        maxSubs: ::std::os::raw::c_int,
2123    ) -> ::std::os::raw::c_int;
2124}
2125extern "C" {
2126    pub fn String_UNSAFE_SplitBy(
2127        str_: *mut cc_string,
2128        c: ::std::os::raw::c_char,
2129        part: *mut cc_string,
2130    );
2131}
2132extern "C" {
2133    pub fn String_UNSAFE_Separate(
2134        str_: *const cc_string,
2135        c: ::std::os::raw::c_char,
2136        key: *mut cc_string,
2137        value: *mut cc_string,
2138    ) -> ::std::os::raw::c_int;
2139}
2140extern "C" {
2141    pub fn String_Equals(a: *const cc_string, b: *const cc_string) -> ::std::os::raw::c_int;
2142}
2143pub type FP_String_Equals = ::std::option::Option<
2144    unsafe extern "C" fn(a: *const cc_string, b: *const cc_string) -> ::std::os::raw::c_int,
2145>;
2146extern "C" {
2147    pub fn String_CaselessEquals(a: *const cc_string, b: *const cc_string)
2148        -> ::std::os::raw::c_int;
2149}
2150pub type FP_String_CaselessEquals = ::std::option::Option<
2151    unsafe extern "C" fn(a: *const cc_string, b: *const cc_string) -> ::std::os::raw::c_int,
2152>;
2153extern "C" {
2154    pub fn String_CaselessEqualsConst(
2155        a: *const cc_string,
2156        b: *const ::std::os::raw::c_char,
2157    ) -> ::std::os::raw::c_int;
2158}
2159pub type FP_String_CaselessEqualsConst = ::std::option::Option<
2160    unsafe extern "C" fn(
2161        a: *const cc_string,
2162        b: *const ::std::os::raw::c_char,
2163    ) -> ::std::os::raw::c_int,
2164>;
2165extern "C" {
2166    pub fn String_Append(str_: *mut cc_string, c: ::std::os::raw::c_char);
2167}
2168extern "C" {
2169    pub fn String_AppendBool(str_: *mut cc_string, value: cc_bool);
2170}
2171extern "C" {
2172    pub fn String_AppendInt(str_: *mut cc_string, num: ::std::os::raw::c_int);
2173}
2174extern "C" {
2175    pub fn String_AppendUInt32(str_: *mut cc_string, num: cc_uint32);
2176}
2177extern "C" {
2178    pub fn String_AppendPaddedInt(
2179        str_: *mut cc_string,
2180        num: ::std::os::raw::c_int,
2181        minDigits: ::std::os::raw::c_int,
2182    );
2183}
2184extern "C" {
2185    pub fn String_AppendFloat(str_: *mut cc_string, num: f32, fracDigits: ::std::os::raw::c_int);
2186}
2187extern "C" {
2188    pub fn String_AppendConst(str_: *mut cc_string, src: *const ::std::os::raw::c_char);
2189}
2190pub type FP_String_AppendConst = ::std::option::Option<
2191    unsafe extern "C" fn(str_: *mut cc_string, src: *const ::std::os::raw::c_char),
2192>;
2193extern "C" {
2194    pub fn String_AppendString(str_: *mut cc_string, src: *const cc_string);
2195}
2196extern "C" {
2197    pub fn String_AppendColorless(str_: *mut cc_string, src: *const cc_string);
2198}
2199extern "C" {
2200    pub fn String_AppendHex(str_: *mut cc_string, value: cc_uint8);
2201}
2202extern "C" {
2203    pub fn String_IndexOfAt(
2204        str_: *const cc_string,
2205        offset: ::std::os::raw::c_int,
2206        c: ::std::os::raw::c_char,
2207    ) -> ::std::os::raw::c_int;
2208}
2209extern "C" {
2210    pub fn String_LastIndexOfAt(
2211        str_: *const cc_string,
2212        offset: ::std::os::raw::c_int,
2213        c: ::std::os::raw::c_char,
2214    ) -> ::std::os::raw::c_int;
2215}
2216extern "C" {
2217    pub fn String_InsertAt(
2218        str_: *mut cc_string,
2219        offset: ::std::os::raw::c_int,
2220        c: ::std::os::raw::c_char,
2221    );
2222}
2223extern "C" {
2224    pub fn String_DeleteAt(str_: *mut cc_string, offset: ::std::os::raw::c_int);
2225}
2226extern "C" {
2227    pub fn String_UNSAFE_TrimStart(str_: *mut cc_string);
2228}
2229extern "C" {
2230    pub fn String_UNSAFE_TrimEnd(str_: *mut cc_string);
2231}
2232extern "C" {
2233    pub fn String_IndexOfConst(
2234        str_: *const cc_string,
2235        sub: *const ::std::os::raw::c_char,
2236    ) -> ::std::os::raw::c_int;
2237}
2238extern "C" {
2239    pub fn String_CaselessContains(
2240        str_: *const cc_string,
2241        sub: *const cc_string,
2242    ) -> ::std::os::raw::c_int;
2243}
2244pub type FP_String_CaselessContains = ::std::option::Option<
2245    unsafe extern "C" fn(str_: *const cc_string, sub: *const cc_string) -> ::std::os::raw::c_int,
2246>;
2247extern "C" {
2248    pub fn String_CaselessStarts(
2249        str_: *const cc_string,
2250        sub: *const cc_string,
2251    ) -> ::std::os::raw::c_int;
2252}
2253pub type FP_String_CaselessStarts = ::std::option::Option<
2254    unsafe extern "C" fn(str_: *const cc_string, sub: *const cc_string) -> ::std::os::raw::c_int,
2255>;
2256extern "C" {
2257    pub fn String_CaselessEnds(
2258        str_: *const cc_string,
2259        sub: *const cc_string,
2260    ) -> ::std::os::raw::c_int;
2261}
2262pub type FP_String_CaselessEnds = ::std::option::Option<
2263    unsafe extern "C" fn(str_: *const cc_string, sub: *const cc_string) -> ::std::os::raw::c_int,
2264>;
2265extern "C" {
2266    pub fn String_Compare(a: *const cc_string, b: *const cc_string) -> ::std::os::raw::c_int;
2267}
2268extern "C" {
2269    pub fn String_Format1(
2270        str_: *mut cc_string,
2271        format: *const ::std::os::raw::c_char,
2272        a1: *const ::std::os::raw::c_void,
2273    );
2274}
2275pub type FP_String_Format1 = ::std::option::Option<
2276    unsafe extern "C" fn(
2277        str_: *mut cc_string,
2278        format: *const ::std::os::raw::c_char,
2279        a1: *const ::std::os::raw::c_void,
2280    ),
2281>;
2282extern "C" {
2283    pub fn String_Format2(
2284        str_: *mut cc_string,
2285        format: *const ::std::os::raw::c_char,
2286        a1: *const ::std::os::raw::c_void,
2287        a2: *const ::std::os::raw::c_void,
2288    );
2289}
2290pub type FP_String_Format2 = ::std::option::Option<
2291    unsafe extern "C" fn(
2292        str_: *mut cc_string,
2293        format: *const ::std::os::raw::c_char,
2294        a1: *const ::std::os::raw::c_void,
2295        a2: *const ::std::os::raw::c_void,
2296    ),
2297>;
2298extern "C" {
2299    pub fn String_Format3(
2300        str_: *mut cc_string,
2301        format: *const ::std::os::raw::c_char,
2302        a1: *const ::std::os::raw::c_void,
2303        a2: *const ::std::os::raw::c_void,
2304        a3: *const ::std::os::raw::c_void,
2305    );
2306}
2307pub type FP_String_Format3 = ::std::option::Option<
2308    unsafe extern "C" fn(
2309        str_: *mut cc_string,
2310        format: *const ::std::os::raw::c_char,
2311        a1: *const ::std::os::raw::c_void,
2312        a2: *const ::std::os::raw::c_void,
2313        a3: *const ::std::os::raw::c_void,
2314    ),
2315>;
2316extern "C" {
2317    pub fn String_Format4(
2318        str_: *mut cc_string,
2319        format: *const ::std::os::raw::c_char,
2320        a1: *const ::std::os::raw::c_void,
2321        a2: *const ::std::os::raw::c_void,
2322        a3: *const ::std::os::raw::c_void,
2323        a4: *const ::std::os::raw::c_void,
2324    );
2325}
2326pub type FP_String_Format4 = ::std::option::Option<
2327    unsafe extern "C" fn(
2328        str_: *mut cc_string,
2329        format: *const ::std::os::raw::c_char,
2330        a1: *const ::std::os::raw::c_void,
2331        a2: *const ::std::os::raw::c_void,
2332        a3: *const ::std::os::raw::c_void,
2333        a4: *const ::std::os::raw::c_void,
2334    ),
2335>;
2336extern "C" {
2337    pub fn Convert_TryCodepointToCP437(cp: cc_codepoint, c: *mut ::std::os::raw::c_char)
2338        -> cc_bool;
2339}
2340extern "C" {
2341    pub fn String_AppendUtf16(
2342        str_: *mut cc_string,
2343        data: *const ::std::os::raw::c_void,
2344        numBytes: ::std::os::raw::c_int,
2345    );
2346}
2347extern "C" {
2348    pub fn String_AppendUtf8(
2349        str_: *mut cc_string,
2350        data: *const ::std::os::raw::c_void,
2351        numBytes: ::std::os::raw::c_int,
2352    );
2353}
2354extern "C" {
2355    pub fn String_AppendCP1252(
2356        str_: *mut cc_string,
2357        data: *const ::std::os::raw::c_void,
2358        numBytes: ::std::os::raw::c_int,
2359    );
2360}
2361extern "C" {
2362    pub fn String_EncodeUtf8(
2363        data: *mut ::std::os::raw::c_void,
2364        src: *const cc_string,
2365    ) -> ::std::os::raw::c_int;
2366}
2367extern "C" {
2368    pub fn Convert_ParseUInt8(str_: *const cc_string, value: *mut cc_uint8) -> cc_bool;
2369}
2370extern "C" {
2371    pub fn Convert_ParseUInt16(str_: *const cc_string, value: *mut cc_uint16) -> cc_bool;
2372}
2373extern "C" {
2374    pub fn Convert_ParseInt(str_: *const cc_string, value: *mut ::std::os::raw::c_int) -> cc_bool;
2375}
2376extern "C" {
2377    pub fn Convert_ParseUInt64(str_: *const cc_string, value: *mut cc_uint64) -> cc_bool;
2378}
2379extern "C" {
2380    pub fn Convert_ParseFloat(str_: *const cc_string, value: *mut f32) -> cc_bool;
2381}
2382extern "C" {
2383    pub fn Convert_ParseBool(str_: *const cc_string, value: *mut cc_bool) -> cc_bool;
2384}
2385extern "C" {
2386    pub fn StringsBuffer_UNSAFE_Get(
2387        buffer: *mut StringsBuffer,
2388        i: ::std::os::raw::c_int,
2389    ) -> cc_string;
2390}
2391extern "C" {
2392    pub fn StringsBuffer_Add(buffer: *mut StringsBuffer, str_: *const cc_string);
2393}
2394extern "C" {
2395    pub fn StringsBuffer_Remove(buffer: *mut StringsBuffer, index: ::std::os::raw::c_int);
2396}
2397pub const NameMode_NAME_MODE_NONE: NameMode = 0;
2398pub const NameMode_NAME_MODE_HOVERED: NameMode = 1;
2399pub const NameMode_NAME_MODE_ALL: NameMode = 2;
2400pub const NameMode_NAME_MODE_ALL_HOVERED: NameMode = 3;
2401pub const NameMode_NAME_MODE_ALL_UNSCALED: NameMode = 4;
2402pub const NameMode_NAME_MODE_COUNT: NameMode = 5;
2403pub type NameMode = ::std::os::raw::c_int;
2404pub const ShadowMode_SHADOW_MODE_NONE: ShadowMode = 0;
2405pub const ShadowMode_SHADOW_MODE_SNAP_TO_BLOCK: ShadowMode = 1;
2406pub const ShadowMode_SHADOW_MODE_CIRCLE: ShadowMode = 2;
2407pub const ShadowMode_SHADOW_MODE_CIRCLE_ALL: ShadowMode = 3;
2408pub const ShadowMode_SHADOW_MODE_COUNT: ShadowMode = 4;
2409pub type ShadowMode = ::std::os::raw::c_int;
2410pub const EntityType_ENTITY_TYPE_NONE: EntityType = 0;
2411pub const EntityType_ENTITY_TYPE_PLAYER: EntityType = 1;
2412pub type EntityType = ::std::os::raw::c_int;
2413#[repr(C)]
2414#[derive(Debug, Copy, Clone, PartialEq)]
2415pub struct LocationUpdate {
2416    pub pos: Vec3,
2417    pub pitch: f32,
2418    pub yaw: f32,
2419    pub rotX: f32,
2420    pub rotZ: f32,
2421    pub flags: cc_uint8,
2422}
2423#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2424const _: () = {
2425    ["Size of LocationUpdate"][::std::mem::size_of::<LocationUpdate>() - 32usize];
2426    ["Alignment of LocationUpdate"][::std::mem::align_of::<LocationUpdate>() - 4usize];
2427    ["Offset of field: LocationUpdate::pos"][::std::mem::offset_of!(LocationUpdate, pos) - 0usize];
2428    ["Offset of field: LocationUpdate::pitch"]
2429        [::std::mem::offset_of!(LocationUpdate, pitch) - 12usize];
2430    ["Offset of field: LocationUpdate::yaw"][::std::mem::offset_of!(LocationUpdate, yaw) - 16usize];
2431    ["Offset of field: LocationUpdate::rotX"]
2432        [::std::mem::offset_of!(LocationUpdate, rotX) - 20usize];
2433    ["Offset of field: LocationUpdate::rotZ"]
2434        [::std::mem::offset_of!(LocationUpdate, rotZ) - 24usize];
2435    ["Offset of field: LocationUpdate::flags"]
2436        [::std::mem::offset_of!(LocationUpdate, flags) - 28usize];
2437};
2438#[repr(C)]
2439#[derive(Debug, Copy, Clone, PartialEq)]
2440pub struct EntityLocation {
2441    pub pos: Vec3,
2442    pub pitch: f32,
2443    pub yaw: f32,
2444    pub rotX: f32,
2445    pub rotY: f32,
2446    pub rotZ: f32,
2447}
2448#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2449const _: () = {
2450    ["Size of EntityLocation"][::std::mem::size_of::<EntityLocation>() - 32usize];
2451    ["Alignment of EntityLocation"][::std::mem::align_of::<EntityLocation>() - 4usize];
2452    ["Offset of field: EntityLocation::pos"][::std::mem::offset_of!(EntityLocation, pos) - 0usize];
2453    ["Offset of field: EntityLocation::pitch"]
2454        [::std::mem::offset_of!(EntityLocation, pitch) - 12usize];
2455    ["Offset of field: EntityLocation::yaw"][::std::mem::offset_of!(EntityLocation, yaw) - 16usize];
2456    ["Offset of field: EntityLocation::rotX"]
2457        [::std::mem::offset_of!(EntityLocation, rotX) - 20usize];
2458    ["Offset of field: EntityLocation::rotY"]
2459        [::std::mem::offset_of!(EntityLocation, rotY) - 24usize];
2460    ["Offset of field: EntityLocation::rotZ"]
2461        [::std::mem::offset_of!(EntityLocation, rotZ) - 28usize];
2462};
2463#[repr(C)]
2464#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2465pub struct EntityVTABLE {
2466    pub Tick: ::std::option::Option<unsafe extern "C" fn(e: *mut Entity, delta: f32)>,
2467    pub Despawn: ::std::option::Option<unsafe extern "C" fn(e: *mut Entity)>,
2468    pub SetLocation:
2469        ::std::option::Option<unsafe extern "C" fn(e: *mut Entity, update: *mut LocationUpdate)>,
2470    pub GetCol: ::std::option::Option<unsafe extern "C" fn(e: *mut Entity) -> PackedCol>,
2471    pub RenderModel:
2472        ::std::option::Option<unsafe extern "C" fn(e: *mut Entity, delta: f32, t: f32)>,
2473    pub ShouldRenderName: ::std::option::Option<unsafe extern "C" fn(e: *mut Entity) -> cc_bool>,
2474}
2475#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2476const _: () = {
2477    ["Size of EntityVTABLE"][::std::mem::size_of::<EntityVTABLE>() - 48usize];
2478    ["Alignment of EntityVTABLE"][::std::mem::align_of::<EntityVTABLE>() - 8usize];
2479    ["Offset of field: EntityVTABLE::Tick"][::std::mem::offset_of!(EntityVTABLE, Tick) - 0usize];
2480    ["Offset of field: EntityVTABLE::Despawn"]
2481        [::std::mem::offset_of!(EntityVTABLE, Despawn) - 8usize];
2482    ["Offset of field: EntityVTABLE::SetLocation"]
2483        [::std::mem::offset_of!(EntityVTABLE, SetLocation) - 16usize];
2484    ["Offset of field: EntityVTABLE::GetCol"]
2485        [::std::mem::offset_of!(EntityVTABLE, GetCol) - 24usize];
2486    ["Offset of field: EntityVTABLE::RenderModel"]
2487        [::std::mem::offset_of!(EntityVTABLE, RenderModel) - 32usize];
2488    ["Offset of field: EntityVTABLE::ShouldRenderName"]
2489        [::std::mem::offset_of!(EntityVTABLE, ShouldRenderName) - 40usize];
2490};
2491#[repr(C)]
2492#[derive(Debug, PartialEq)]
2493pub struct Entity {
2494    pub VTABLE: *const EntityVTABLE,
2495    pub Position: Vec3,
2496    pub Pitch: f32,
2497    pub Yaw: f32,
2498    pub RotX: f32,
2499    pub RotY: f32,
2500    pub RotZ: f32,
2501    pub Velocity: Vec3,
2502    pub Model: *mut Model,
2503    pub ModelBlock: BlockID,
2504    pub Flags: cc_uint8,
2505    pub ShouldRender: cc_bool,
2506    pub ModelAABB: AABB,
2507    pub ModelScale: Vec3,
2508    pub Size: Vec3,
2509    pub _skinReqID: ::std::os::raw::c_int,
2510    pub SkinType: cc_uint8,
2511    pub SkinFetchState: cc_uint8,
2512    pub NoShade: cc_bool,
2513    pub OnGround: cc_bool,
2514    pub TextureId: GfxResourceID,
2515    pub MobTextureId: GfxResourceID,
2516    pub uScale: f32,
2517    pub vScale: f32,
2518    pub Anim: AnimatedComp,
2519    pub SkinRaw: [::std::os::raw::c_char; 64usize],
2520    pub NameRaw: [::std::os::raw::c_char; 64usize],
2521    pub NameTex: Texture,
2522    pub prev: EntityLocation,
2523    pub next: EntityLocation,
2524    pub ModelVB: GfxResourceID,
2525}
2526#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2527const _: () = {
2528    ["Size of Entity"][::std::mem::size_of::<Entity>() - 464usize];
2529    ["Alignment of Entity"][::std::mem::align_of::<Entity>() - 8usize];
2530    ["Offset of field: Entity::VTABLE"][::std::mem::offset_of!(Entity, VTABLE) - 0usize];
2531    ["Offset of field: Entity::Position"][::std::mem::offset_of!(Entity, Position) - 8usize];
2532    ["Offset of field: Entity::Pitch"][::std::mem::offset_of!(Entity, Pitch) - 20usize];
2533    ["Offset of field: Entity::Yaw"][::std::mem::offset_of!(Entity, Yaw) - 24usize];
2534    ["Offset of field: Entity::RotX"][::std::mem::offset_of!(Entity, RotX) - 28usize];
2535    ["Offset of field: Entity::RotY"][::std::mem::offset_of!(Entity, RotY) - 32usize];
2536    ["Offset of field: Entity::RotZ"][::std::mem::offset_of!(Entity, RotZ) - 36usize];
2537    ["Offset of field: Entity::Velocity"][::std::mem::offset_of!(Entity, Velocity) - 40usize];
2538    ["Offset of field: Entity::Model"][::std::mem::offset_of!(Entity, Model) - 56usize];
2539    ["Offset of field: Entity::ModelBlock"][::std::mem::offset_of!(Entity, ModelBlock) - 64usize];
2540    ["Offset of field: Entity::Flags"][::std::mem::offset_of!(Entity, Flags) - 66usize];
2541    ["Offset of field: Entity::ShouldRender"]
2542        [::std::mem::offset_of!(Entity, ShouldRender) - 67usize];
2543    ["Offset of field: Entity::ModelAABB"][::std::mem::offset_of!(Entity, ModelAABB) - 68usize];
2544    ["Offset of field: Entity::ModelScale"][::std::mem::offset_of!(Entity, ModelScale) - 92usize];
2545    ["Offset of field: Entity::Size"][::std::mem::offset_of!(Entity, Size) - 104usize];
2546    ["Offset of field: Entity::_skinReqID"][::std::mem::offset_of!(Entity, _skinReqID) - 116usize];
2547    ["Offset of field: Entity::SkinType"][::std::mem::offset_of!(Entity, SkinType) - 120usize];
2548    ["Offset of field: Entity::SkinFetchState"]
2549        [::std::mem::offset_of!(Entity, SkinFetchState) - 121usize];
2550    ["Offset of field: Entity::NoShade"][::std::mem::offset_of!(Entity, NoShade) - 122usize];
2551    ["Offset of field: Entity::OnGround"][::std::mem::offset_of!(Entity, OnGround) - 123usize];
2552    ["Offset of field: Entity::TextureId"][::std::mem::offset_of!(Entity, TextureId) - 128usize];
2553    ["Offset of field: Entity::MobTextureId"]
2554        [::std::mem::offset_of!(Entity, MobTextureId) - 136usize];
2555    ["Offset of field: Entity::uScale"][::std::mem::offset_of!(Entity, uScale) - 144usize];
2556    ["Offset of field: Entity::vScale"][::std::mem::offset_of!(Entity, vScale) - 148usize];
2557    ["Offset of field: Entity::Anim"][::std::mem::offset_of!(Entity, Anim) - 152usize];
2558    ["Offset of field: Entity::SkinRaw"][::std::mem::offset_of!(Entity, SkinRaw) - 232usize];
2559    ["Offset of field: Entity::NameRaw"][::std::mem::offset_of!(Entity, NameRaw) - 296usize];
2560    ["Offset of field: Entity::NameTex"][::std::mem::offset_of!(Entity, NameTex) - 360usize];
2561    ["Offset of field: Entity::prev"][::std::mem::offset_of!(Entity, prev) - 392usize];
2562    ["Offset of field: Entity::next"][::std::mem::offset_of!(Entity, next) - 424usize];
2563    ["Offset of field: Entity::ModelVB"][::std::mem::offset_of!(Entity, ModelVB) - 456usize];
2564};
2565pub type Entity_TouchesCondition =
2566    ::std::option::Option<unsafe extern "C" fn(block: BlockID) -> cc_bool>;
2567extern "C" {
2568    pub fn Entity_GetTransform(e: *mut Entity, pos: Vec3, scale: Vec3, m: *mut Matrix);
2569}
2570extern "C" {
2571    pub fn Entity_SetModel(e: *mut Entity, model: *const cc_string);
2572}
2573extern "C" {
2574    pub fn Entity_TouchesAny(bb: *mut AABB, cond: Entity_TouchesCondition) -> cc_bool;
2575}
2576#[repr(C)]
2577#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2578pub struct _EntitiesData {
2579    pub List: [*mut Entity; 256usize],
2580    pub NamesMode: cc_uint8,
2581    pub ShadowsMode: cc_uint8,
2582    pub CurPlayer: *mut LocalPlayer,
2583}
2584#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2585const _: () = {
2586    ["Size of _EntitiesData"][::std::mem::size_of::<_EntitiesData>() - 2064usize];
2587    ["Alignment of _EntitiesData"][::std::mem::align_of::<_EntitiesData>() - 8usize];
2588    ["Offset of field: _EntitiesData::List"][::std::mem::offset_of!(_EntitiesData, List) - 0usize];
2589    ["Offset of field: _EntitiesData::NamesMode"]
2590        [::std::mem::offset_of!(_EntitiesData, NamesMode) - 2048usize];
2591    ["Offset of field: _EntitiesData::ShadowsMode"]
2592        [::std::mem::offset_of!(_EntitiesData, ShadowsMode) - 2049usize];
2593    ["Offset of field: _EntitiesData::CurPlayer"]
2594        [::std::mem::offset_of!(_EntitiesData, CurPlayer) - 2056usize];
2595};
2596#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
2597    pub static mut Entities: _EntitiesData;
2598}
2599#[repr(C)]
2600#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2601pub struct _TabListData {
2602    pub NameOffsets: [cc_uint16; 256usize],
2603    pub GroupRanks: [cc_uint8; 256usize],
2604    pub _buffer: StringsBuffer,
2605    pub _entityLinked: [cc_uint8; 32usize],
2606}
2607#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2608const _: () = {
2609    ["Size of _TabListData"][::std::mem::size_of::<_TabListData>() - 5960usize];
2610    ["Alignment of _TabListData"][::std::mem::align_of::<_TabListData>() - 8usize];
2611    ["Offset of field: _TabListData::NameOffsets"]
2612        [::std::mem::offset_of!(_TabListData, NameOffsets) - 0usize];
2613    ["Offset of field: _TabListData::GroupRanks"]
2614        [::std::mem::offset_of!(_TabListData, GroupRanks) - 512usize];
2615    ["Offset of field: _TabListData::_buffer"]
2616        [::std::mem::offset_of!(_TabListData, _buffer) - 768usize];
2617    ["Offset of field: _TabListData::_entityLinked"]
2618        [::std::mem::offset_of!(_TabListData, _entityLinked) - 5928usize];
2619};
2620#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
2621    pub static mut TabList: _TabListData;
2622}
2623extern "C" {
2624    pub fn TabList_Remove(id: EntityID);
2625}
2626extern "C" {
2627    pub fn TabList_Set(
2628        id: EntityID,
2629        player: *const cc_string,
2630        list: *const cc_string,
2631        group: *const cc_string,
2632        rank: cc_uint8,
2633    );
2634}
2635#[repr(C)]
2636#[derive(Debug, PartialEq)]
2637pub struct NetPlayer {
2638    pub Base: Entity,
2639    pub Interp: NetInterpComp,
2640}
2641#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2642const _: () = {
2643    ["Size of NetPlayer"][::std::mem::size_of::<NetPlayer>() - 848usize];
2644    ["Alignment of NetPlayer"][::std::mem::align_of::<NetPlayer>() - 8usize];
2645    ["Offset of field: NetPlayer::Base"][::std::mem::offset_of!(NetPlayer, Base) - 0usize];
2646    ["Offset of field: NetPlayer::Interp"][::std::mem::offset_of!(NetPlayer, Interp) - 464usize];
2647};
2648extern "C" {
2649    pub fn NetPlayer_Init(player: *mut NetPlayer);
2650}
2651#[repr(C)]
2652#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2653pub struct LocalPlayerInput {
2654    pub GetMovement: ::std::option::Option<
2655        unsafe extern "C" fn(p: *mut LocalPlayer, xMoving: *mut f32, zMoving: *mut f32),
2656    >,
2657    pub next: *mut LocalPlayerInput,
2658}
2659#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2660const _: () = {
2661    ["Size of LocalPlayerInput"][::std::mem::size_of::<LocalPlayerInput>() - 16usize];
2662    ["Alignment of LocalPlayerInput"][::std::mem::align_of::<LocalPlayerInput>() - 8usize];
2663    ["Offset of field: LocalPlayerInput::GetMovement"]
2664        [::std::mem::offset_of!(LocalPlayerInput, GetMovement) - 0usize];
2665    ["Offset of field: LocalPlayerInput::next"]
2666        [::std::mem::offset_of!(LocalPlayerInput, next) - 8usize];
2667};
2668#[repr(C)]
2669#[derive(Debug, PartialEq)]
2670pub struct LocalPlayer {
2671    pub Base: Entity,
2672    pub Spawn: Vec3,
2673    pub OldVelocity: Vec3,
2674    pub SpawnYaw: f32,
2675    pub SpawnPitch: f32,
2676    pub ReachDistance: f32,
2677    pub Hacks: HacksComp,
2678    pub Tilt: TiltComp,
2679    pub Interp: InterpComp,
2680    pub Collisions: CollisionsComp,
2681    pub Physics: PhysicsComp,
2682    pub _warnedRespawn: cc_bool,
2683    pub _warnedFly: cc_bool,
2684    pub _warnedNoclip: cc_bool,
2685    pub _warnedZoom: cc_bool,
2686    pub index: cc_uint8,
2687}
2688#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2689const _: () = {
2690    ["Size of LocalPlayer"][::std::mem::size_of::<LocalPlayer>() - 864usize];
2691    ["Alignment of LocalPlayer"][::std::mem::align_of::<LocalPlayer>() - 8usize];
2692    ["Offset of field: LocalPlayer::Base"][::std::mem::offset_of!(LocalPlayer, Base) - 0usize];
2693    ["Offset of field: LocalPlayer::Spawn"][::std::mem::offset_of!(LocalPlayer, Spawn) - 464usize];
2694    ["Offset of field: LocalPlayer::OldVelocity"]
2695        [::std::mem::offset_of!(LocalPlayer, OldVelocity) - 476usize];
2696    ["Offset of field: LocalPlayer::SpawnYaw"]
2697        [::std::mem::offset_of!(LocalPlayer, SpawnYaw) - 488usize];
2698    ["Offset of field: LocalPlayer::SpawnPitch"]
2699        [::std::mem::offset_of!(LocalPlayer, SpawnPitch) - 492usize];
2700    ["Offset of field: LocalPlayer::ReachDistance"]
2701        [::std::mem::offset_of!(LocalPlayer, ReachDistance) - 496usize];
2702    ["Offset of field: LocalPlayer::Hacks"][::std::mem::offset_of!(LocalPlayer, Hacks) - 504usize];
2703    ["Offset of field: LocalPlayer::Tilt"][::std::mem::offset_of!(LocalPlayer, Tilt) - 696usize];
2704    ["Offset of field: LocalPlayer::Interp"]
2705        [::std::mem::offset_of!(LocalPlayer, Interp) - 716usize];
2706    ["Offset of field: LocalPlayer::Collisions"]
2707        [::std::mem::offset_of!(LocalPlayer, Collisions) - 784usize];
2708    ["Offset of field: LocalPlayer::Physics"]
2709        [::std::mem::offset_of!(LocalPlayer, Physics) - 808usize];
2710    ["Offset of field: LocalPlayer::_warnedRespawn"]
2711        [::std::mem::offset_of!(LocalPlayer, _warnedRespawn) - 856usize];
2712    ["Offset of field: LocalPlayer::_warnedFly"]
2713        [::std::mem::offset_of!(LocalPlayer, _warnedFly) - 857usize];
2714    ["Offset of field: LocalPlayer::_warnedNoclip"]
2715        [::std::mem::offset_of!(LocalPlayer, _warnedNoclip) - 858usize];
2716    ["Offset of field: LocalPlayer::_warnedZoom"]
2717        [::std::mem::offset_of!(LocalPlayer, _warnedZoom) - 859usize];
2718    ["Offset of field: LocalPlayer::index"][::std::mem::offset_of!(LocalPlayer, index) - 860usize];
2719};
2720pub const CC_ERRORS_ERROR_BASE: CC_ERRORS = -857812992;
2721pub const CC_ERRORS_ERR_END_OF_STREAM: CC_ERRORS = -857812991;
2722pub const CC_ERRORS_ERR_NOT_SUPPORTED: CC_ERRORS = -857812990;
2723pub const CC_ERRORS_ERR_INVALID_ARGUMENT: CC_ERRORS = -857812989;
2724pub const CC_ERRORS_ERR_OUT_OF_MEMORY: CC_ERRORS = -857812988;
2725pub const CC_ERRORS_OGG_ERR_INVALID_SIG: CC_ERRORS = -857812987;
2726pub const CC_ERRORS_OGG_ERR_VERSION: CC_ERRORS = -857812986;
2727pub const CC_ERRORS_WAV_ERR_STREAM_HDR: CC_ERRORS = -857812985;
2728pub const CC_ERRORS_WAV_ERR_STREAM_TYPE: CC_ERRORS = -857812984;
2729pub const CC_ERRORS_WAV_ERR_DATA_TYPE: CC_ERRORS = -857812983;
2730pub const CC_ERRORS_AUDIO_ERR_MP3_SIG: CC_ERRORS = -857812982;
2731pub const CC_ERRORS_WAV_ERR_SAMPLE_BITS: CC_ERRORS = -857812981;
2732pub const CC_ERRORS_SFD_ERR_NEED_DEFAULT_NAME: CC_ERRORS = -857812980;
2733pub const CC_ERRORS_VORBIS_ERR_WRONG_HEADER: CC_ERRORS = -857812979;
2734pub const CC_ERRORS_VORBIS_ERR_FRAMING: CC_ERRORS = -857812978;
2735pub const CC_ERRORS_VORBIS_ERR_VERSION: CC_ERRORS = -857812977;
2736pub const CC_ERRORS_VORBIS_ERR_BLOCKSIZE: CC_ERRORS = -857812976;
2737pub const CC_ERRORS_VORBIS_ERR_CHANS: CC_ERRORS = -857812975;
2738pub const CC_ERRORS_VORBIS_ERR_TIME_TYPE: CC_ERRORS = -857812974;
2739pub const CC_ERRORS_VORBIS_ERR_FLOOR_TYPE: CC_ERRORS = -857812973;
2740pub const CC_ERRORS_VORBIS_ERR_RESIDUE_TYPE: CC_ERRORS = -857812972;
2741pub const CC_ERRORS_VORBIS_ERR_MAPPING_TYPE: CC_ERRORS = -857812971;
2742pub const CC_ERRORS_VORBIS_ERR_MODE_TYPE: CC_ERRORS = -857812970;
2743pub const CC_ERRORS_VORBIS_ERR_CODEBOOK_SYNC: CC_ERRORS = -857812969;
2744pub const CC_ERRORS_VORBIS_ERR_CODEBOOK_ENTRY: CC_ERRORS = -857812968;
2745pub const CC_ERRORS_VORBIS_ERR_CODEBOOK_LOOKUP: CC_ERRORS = -857812967;
2746pub const CC_ERRORS_VORBIS_ERR_MODE_WINDOW: CC_ERRORS = -857812966;
2747pub const CC_ERRORS_VORBIS_ERR_MODE_TRANSFORM: CC_ERRORS = -857812965;
2748pub const CC_ERRORS_VORBIS_ERR_MAPPING_CHANS: CC_ERRORS = -857812964;
2749pub const CC_ERRORS_VORBIS_ERR_MAPPING_RESERVED: CC_ERRORS = -857812963;
2750pub const CC_ERRORS_VORBIS_ERR_FRAME_TYPE: CC_ERRORS = -857812962;
2751pub const CC_ERRORS_PNG_ERR_INVALID_SIG: CC_ERRORS = -857812961;
2752pub const CC_ERRORS_PNG_ERR_INVALID_HDR_SIZE: CC_ERRORS = -857812960;
2753pub const CC_ERRORS_PNG_ERR_TOO_WIDE: CC_ERRORS = -857812959;
2754pub const CC_ERRORS_PNG_ERR_TOO_TALL: CC_ERRORS = -857812958;
2755pub const CC_ERRORS_PNG_ERR_INVALID_COL_BPP: CC_ERRORS = -857812957;
2756pub const CC_ERRORS_PNG_ERR_COMP_METHOD: CC_ERRORS = -857812956;
2757pub const CC_ERRORS_PNG_ERR_FILTER: CC_ERRORS = -857812955;
2758pub const CC_ERRORS_PNG_ERR_INTERLACED: CC_ERRORS = -857812954;
2759pub const CC_ERRORS_PNG_ERR_PAL_SIZE: CC_ERRORS = -857812953;
2760pub const CC_ERRORS_PNG_ERR_TRANS_COUNT: CC_ERRORS = -857812952;
2761pub const CC_ERRORS_PNG_ERR_TRANS_INVALID: CC_ERRORS = -857812951;
2762pub const CC_ERRORS_PNG_ERR_REACHED_IEND: CC_ERRORS = -857812950;
2763pub const CC_ERRORS_PNG_ERR_NO_DATA: CC_ERRORS = -857812949;
2764pub const CC_ERRORS_PNG_ERR_INVALID_SCANLINE: CC_ERRORS = -857812948;
2765pub const CC_ERRORS_ZIP_ERR_TOO_MANY_ENTRIES: CC_ERRORS = -857812947;
2766pub const CC_ERRORS_ZIP_ERR_SEEK_END_OF_CENTRAL_DIR: CC_ERRORS = -857812946;
2767pub const CC_ERRORS_ZIP_ERR_NO_END_OF_CENTRAL_DIR: CC_ERRORS = -857812945;
2768pub const CC_ERRORS_ZIP_ERR_SEEK_CENTRAL_DIR: CC_ERRORS = -857812944;
2769pub const CC_ERRORS_ZIP_ERR_INVALID_CENTRAL_DIR: CC_ERRORS = -857812943;
2770pub const CC_ERRORS_ZIP_ERR_SEEK_LOCAL_DIR: CC_ERRORS = -857812942;
2771pub const CC_ERRORS_ZIP_ERR_INVALID_LOCAL_DIR: CC_ERRORS = -857812941;
2772pub const CC_ERRORS_ZIP_ERR_FILENAME_LEN: CC_ERRORS = -857812940;
2773pub const CC_ERRORS_GZIP_ERR_HEADER1: CC_ERRORS = -857812939;
2774pub const CC_ERRORS_GZIP_ERR_HEADER2: CC_ERRORS = -857812938;
2775pub const CC_ERRORS_GZIP_ERR_METHOD: CC_ERRORS = -857812937;
2776pub const CC_ERRORS_GZIP_ERR_FLAGS: CC_ERRORS = -857812936;
2777pub const CC_ERRORS_ZLIB_ERR_METHOD: CC_ERRORS = -857812935;
2778pub const CC_ERRORS_ZLIB_ERR_FLAGS: CC_ERRORS = -857812934;
2779pub const CC_ERRORS_FCM_ERR_IDENTIFIER: CC_ERRORS = -857812933;
2780pub const CC_ERRORS_FCM_ERR_REVISION: CC_ERRORS = -857812932;
2781pub const CC_ERRORS_LVL_ERR_VERSION: CC_ERRORS = -857812931;
2782pub const CC_ERRORS_DAT_ERR_IDENTIFIER: CC_ERRORS = -857812930;
2783pub const CC_ERRORS_DAT_ERR_VERSION: CC_ERRORS = -857812929;
2784pub const CC_ERRORS_DAT_ERR_JIDENTIFIER: CC_ERRORS = -857812928;
2785pub const CC_ERRORS_DAT_ERR_JVERSION: CC_ERRORS = -857812927;
2786pub const CC_ERRORS_DAT_ERR_ROOT_OBJECT: CC_ERRORS = -857812926;
2787pub const CC_ERRORS_JAVA_ERR_INVALID_TYPECODE: CC_ERRORS = -857812925;
2788pub const CC_ERRORS_JAVA_ERR_JSTRING_LEN: CC_ERRORS = -857812924;
2789pub const CC_ERRORS_JAVA_ERR_JFIELD_CLASS_NAME: CC_ERRORS = -857812923;
2790pub const CC_ERRORS_JAVA_ERR_JCLASS_TYPE: CC_ERRORS = -857812922;
2791pub const CC_ERRORS_JAVA_ERR_JCLASS_FIELDS: CC_ERRORS = -857812921;
2792pub const CC_ERRORS_JAVA_ERR_JCLASS_ANNOTATION: CC_ERRORS = -857812920;
2793pub const CC_ERRORS_JAVA_ERR_JCLASSES_COUNT: CC_ERRORS = -857812919;
2794pub const CC_ERRORS_JAVA_ERR_JCLASS_REFERENCE: CC_ERRORS = -857812918;
2795pub const CC_ERRORS_JAVA_ERR_JOBJECT_FLAGS: CC_ERRORS = -857812917;
2796pub const CC_ERRORS_JAVA_ERR_JVALUE_TYPE: CC_ERRORS = -857812916;
2797pub const CC_ERRORS_SOCK_ERR_UNKNOWN_HOST: CC_ERRORS = -857812913;
2798pub const CC_ERRORS_NBT_ERR_UNKNOWN: CC_ERRORS = -857812912;
2799pub const CC_ERRORS_CW_ERR_ROOT_TAG: CC_ERRORS = -857812911;
2800pub const CC_ERRORS_CW_ERR_STRING_LEN: CC_ERRORS = -857812910;
2801pub const CC_ERRORS_CW_ERR_UUID_LEN: CC_ERRORS = -857812909;
2802pub const CC_ERRORS_AL_ERR_INIT_DEVICE: CC_ERRORS = -857812908;
2803pub const CC_ERRORS_AL_ERR_INIT_CONTEXT: CC_ERRORS = -857812907;
2804pub const CC_ERRORS_INF_ERR_BLOCKTYPE: CC_ERRORS = -857812906;
2805pub const CC_ERRORS_INF_ERR_LEN_VERIFY: CC_ERRORS = -857812905;
2806pub const CC_ERRORS_INF_ERR_REPEAT_BEG: CC_ERRORS = -857812904;
2807pub const CC_ERRORS_INF_ERR_REPEAT_END: CC_ERRORS = -857812903;
2808pub const CC_ERRORS_INF_ERR_INVALID_CODE: CC_ERRORS = -857812902;
2809pub const CC_ERRORS_INF_ERR_NUM_CODES: CC_ERRORS = -857812901;
2810pub const CC_ERRORS_ERR_DOWNLOAD_INVALID: CC_ERRORS = -857812900;
2811pub const CC_ERRORS_ERR_NO_AUDIO_OUTPUT: CC_ERRORS = -857812899;
2812pub const CC_ERRORS_ERR_INVALID_DATA_URL: CC_ERRORS = -857812898;
2813pub const CC_ERRORS_ERR_INVALID_OPEN_URL: CC_ERRORS = -857812897;
2814pub const CC_ERRORS_NBT_ERR_EXPECTED_I8: CC_ERRORS = -857812896;
2815pub const CC_ERRORS_NBT_ERR_EXPECTED_I16: CC_ERRORS = -857812895;
2816pub const CC_ERRORS_NBT_ERR_EXPECTED_I32: CC_ERRORS = -857812894;
2817pub const CC_ERRORS_NBT_ERR_EXPECTED_F32: CC_ERRORS = -857812893;
2818pub const CC_ERRORS_NBT_ERR_EXPECTED_STR: CC_ERRORS = -857812892;
2819pub const CC_ERRORS_NBT_ERR_EXPECTED_ARR: CC_ERRORS = -857812891;
2820pub const CC_ERRORS_NBT_ERR_ARR_TOO_SMALL: CC_ERRORS = -857812890;
2821pub const CC_ERRORS_HTTP_ERR_NO_SSL: CC_ERRORS = -857812889;
2822pub const CC_ERRORS_HTTP_ERR_REDIRECTS: CC_ERRORS = -857812888;
2823pub const CC_ERRORS_HTTP_ERR_RELATIVE: CC_ERRORS = -857812887;
2824pub const CC_ERRORS_HTTP_ERR_INVALID_BODY: CC_ERRORS = -857812886;
2825pub const CC_ERRORS_HTTP_ERR_CHUNK_SIZE: CC_ERRORS = -857812885;
2826pub const CC_ERRORS_HTTP_ERR_TRUNCATED: CC_ERRORS = -857812884;
2827pub const CC_ERRORS_HTTP_ERR_NO_RESPONSE: CC_ERRORS = -857812883;
2828pub const CC_ERRORS_SSL_ERR_CONTEXT_DEAD: CC_ERRORS = -857812880;
2829pub const CC_ERRORS_PNG_ERR_16BITSAMPLES: CC_ERRORS = -857812879;
2830pub const CC_ERRORS_ERR_NO_NETWORKING: CC_ERRORS = -857812878;
2831pub type CC_ERRORS = ::std::os::raw::c_int;
2832pub type Event_Void_Callback =
2833    ::std::option::Option<unsafe extern "C" fn(obj: *mut ::std::os::raw::c_void)>;
2834#[repr(C)]
2835#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2836pub struct Event_Void {
2837    pub Handlers: [Event_Void_Callback; 32usize],
2838    pub Objs: [*mut ::std::os::raw::c_void; 32usize],
2839    pub Count: ::std::os::raw::c_int,
2840}
2841#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2842const _: () = {
2843    ["Size of Event_Void"][::std::mem::size_of::<Event_Void>() - 520usize];
2844    ["Alignment of Event_Void"][::std::mem::align_of::<Event_Void>() - 8usize];
2845    ["Offset of field: Event_Void::Handlers"]
2846        [::std::mem::offset_of!(Event_Void, Handlers) - 0usize];
2847    ["Offset of field: Event_Void::Objs"][::std::mem::offset_of!(Event_Void, Objs) - 256usize];
2848    ["Offset of field: Event_Void::Count"][::std::mem::offset_of!(Event_Void, Count) - 512usize];
2849};
2850pub type Event_Int_Callback = ::std::option::Option<
2851    unsafe extern "C" fn(obj: *mut ::std::os::raw::c_void, argument: ::std::os::raw::c_int),
2852>;
2853#[repr(C)]
2854#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2855pub struct Event_Int {
2856    pub Handlers: [Event_Int_Callback; 32usize],
2857    pub Objs: [*mut ::std::os::raw::c_void; 32usize],
2858    pub Count: ::std::os::raw::c_int,
2859}
2860#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2861const _: () = {
2862    ["Size of Event_Int"][::std::mem::size_of::<Event_Int>() - 520usize];
2863    ["Alignment of Event_Int"][::std::mem::align_of::<Event_Int>() - 8usize];
2864    ["Offset of field: Event_Int::Handlers"][::std::mem::offset_of!(Event_Int, Handlers) - 0usize];
2865    ["Offset of field: Event_Int::Objs"][::std::mem::offset_of!(Event_Int, Objs) - 256usize];
2866    ["Offset of field: Event_Int::Count"][::std::mem::offset_of!(Event_Int, Count) - 512usize];
2867};
2868pub type Event_Float_Callback =
2869    ::std::option::Option<unsafe extern "C" fn(obj: *mut ::std::os::raw::c_void, argument: f32)>;
2870#[repr(C)]
2871#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2872pub struct Event_Float {
2873    pub Handlers: [Event_Float_Callback; 32usize],
2874    pub Objs: [*mut ::std::os::raw::c_void; 32usize],
2875    pub Count: ::std::os::raw::c_int,
2876}
2877#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2878const _: () = {
2879    ["Size of Event_Float"][::std::mem::size_of::<Event_Float>() - 520usize];
2880    ["Alignment of Event_Float"][::std::mem::align_of::<Event_Float>() - 8usize];
2881    ["Offset of field: Event_Float::Handlers"]
2882        [::std::mem::offset_of!(Event_Float, Handlers) - 0usize];
2883    ["Offset of field: Event_Float::Objs"][::std::mem::offset_of!(Event_Float, Objs) - 256usize];
2884    ["Offset of field: Event_Float::Count"][::std::mem::offset_of!(Event_Float, Count) - 512usize];
2885};
2886pub type Event_Entry_Callback = ::std::option::Option<
2887    unsafe extern "C" fn(
2888        obj: *mut ::std::os::raw::c_void,
2889        stream: *mut Stream,
2890        name: *const cc_string,
2891    ),
2892>;
2893#[repr(C)]
2894#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2895pub struct Event_Entry {
2896    pub Handlers: [Event_Entry_Callback; 32usize],
2897    pub Objs: [*mut ::std::os::raw::c_void; 32usize],
2898    pub Count: ::std::os::raw::c_int,
2899}
2900#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2901const _: () = {
2902    ["Size of Event_Entry"][::std::mem::size_of::<Event_Entry>() - 520usize];
2903    ["Alignment of Event_Entry"][::std::mem::align_of::<Event_Entry>() - 8usize];
2904    ["Offset of field: Event_Entry::Handlers"]
2905        [::std::mem::offset_of!(Event_Entry, Handlers) - 0usize];
2906    ["Offset of field: Event_Entry::Objs"][::std::mem::offset_of!(Event_Entry, Objs) - 256usize];
2907    ["Offset of field: Event_Entry::Count"][::std::mem::offset_of!(Event_Entry, Count) - 512usize];
2908};
2909pub type Event_Block_Callback = ::std::option::Option<
2910    unsafe extern "C" fn(
2911        obj: *mut ::std::os::raw::c_void,
2912        coords: IVec3,
2913        oldBlock: BlockID,
2914        block: BlockID,
2915    ),
2916>;
2917#[repr(C)]
2918#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2919pub struct Event_Block {
2920    pub Handlers: [Event_Block_Callback; 32usize],
2921    pub Objs: [*mut ::std::os::raw::c_void; 32usize],
2922    pub Count: ::std::os::raw::c_int,
2923}
2924#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2925const _: () = {
2926    ["Size of Event_Block"][::std::mem::size_of::<Event_Block>() - 520usize];
2927    ["Alignment of Event_Block"][::std::mem::align_of::<Event_Block>() - 8usize];
2928    ["Offset of field: Event_Block::Handlers"]
2929        [::std::mem::offset_of!(Event_Block, Handlers) - 0usize];
2930    ["Offset of field: Event_Block::Objs"][::std::mem::offset_of!(Event_Block, Objs) - 256usize];
2931    ["Offset of field: Event_Block::Count"][::std::mem::offset_of!(Event_Block, Count) - 512usize];
2932};
2933pub type Event_Chat_Callback = ::std::option::Option<
2934    unsafe extern "C" fn(
2935        obj: *mut ::std::os::raw::c_void,
2936        msg: *const cc_string,
2937        msgType: ::std::os::raw::c_int,
2938    ),
2939>;
2940#[repr(C)]
2941#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2942pub struct Event_Chat {
2943    pub Handlers: [Event_Chat_Callback; 32usize],
2944    pub Objs: [*mut ::std::os::raw::c_void; 32usize],
2945    pub Count: ::std::os::raw::c_int,
2946}
2947#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2948const _: () = {
2949    ["Size of Event_Chat"][::std::mem::size_of::<Event_Chat>() - 520usize];
2950    ["Alignment of Event_Chat"][::std::mem::align_of::<Event_Chat>() - 8usize];
2951    ["Offset of field: Event_Chat::Handlers"]
2952        [::std::mem::offset_of!(Event_Chat, Handlers) - 0usize];
2953    ["Offset of field: Event_Chat::Objs"][::std::mem::offset_of!(Event_Chat, Objs) - 256usize];
2954    ["Offset of field: Event_Chat::Count"][::std::mem::offset_of!(Event_Chat, Count) - 512usize];
2955};
2956pub type Event_Input_Callback = ::std::option::Option<
2957    unsafe extern "C" fn(
2958        obj: *mut ::std::os::raw::c_void,
2959        key: ::std::os::raw::c_int,
2960        repeating: cc_bool,
2961        device: *mut InputDevice,
2962    ),
2963>;
2964#[repr(C)]
2965#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2966pub struct Event_Input {
2967    pub Handlers: [Event_Input_Callback; 32usize],
2968    pub Objs: [*mut ::std::os::raw::c_void; 32usize],
2969    pub Count: ::std::os::raw::c_int,
2970}
2971#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2972const _: () = {
2973    ["Size of Event_Input"][::std::mem::size_of::<Event_Input>() - 520usize];
2974    ["Alignment of Event_Input"][::std::mem::align_of::<Event_Input>() - 8usize];
2975    ["Offset of field: Event_Input::Handlers"]
2976        [::std::mem::offset_of!(Event_Input, Handlers) - 0usize];
2977    ["Offset of field: Event_Input::Objs"][::std::mem::offset_of!(Event_Input, Objs) - 256usize];
2978    ["Offset of field: Event_Input::Count"][::std::mem::offset_of!(Event_Input, Count) - 512usize];
2979};
2980pub type Event_String_Callback = ::std::option::Option<
2981    unsafe extern "C" fn(obj: *mut ::std::os::raw::c_void, str_: *const cc_string),
2982>;
2983#[repr(C)]
2984#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2985pub struct Event_String {
2986    pub Handlers: [Event_String_Callback; 32usize],
2987    pub Objs: [*mut ::std::os::raw::c_void; 32usize],
2988    pub Count: ::std::os::raw::c_int,
2989}
2990#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2991const _: () = {
2992    ["Size of Event_String"][::std::mem::size_of::<Event_String>() - 520usize];
2993    ["Alignment of Event_String"][::std::mem::align_of::<Event_String>() - 8usize];
2994    ["Offset of field: Event_String::Handlers"]
2995        [::std::mem::offset_of!(Event_String, Handlers) - 0usize];
2996    ["Offset of field: Event_String::Objs"][::std::mem::offset_of!(Event_String, Objs) - 256usize];
2997    ["Offset of field: Event_String::Count"]
2998        [::std::mem::offset_of!(Event_String, Count) - 512usize];
2999};
3000pub type Event_RawMove_Callback = ::std::option::Option<
3001    unsafe extern "C" fn(obj: *mut ::std::os::raw::c_void, xDelta: f32, yDelta: f32),
3002>;
3003#[repr(C)]
3004#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3005pub struct Event_RawMove {
3006    pub Handlers: [Event_RawMove_Callback; 32usize],
3007    pub Objs: [*mut ::std::os::raw::c_void; 32usize],
3008    pub Count: ::std::os::raw::c_int,
3009}
3010#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3011const _: () = {
3012    ["Size of Event_RawMove"][::std::mem::size_of::<Event_RawMove>() - 520usize];
3013    ["Alignment of Event_RawMove"][::std::mem::align_of::<Event_RawMove>() - 8usize];
3014    ["Offset of field: Event_RawMove::Handlers"]
3015        [::std::mem::offset_of!(Event_RawMove, Handlers) - 0usize];
3016    ["Offset of field: Event_RawMove::Objs"]
3017        [::std::mem::offset_of!(Event_RawMove, Objs) - 256usize];
3018    ["Offset of field: Event_RawMove::Count"]
3019        [::std::mem::offset_of!(Event_RawMove, Count) - 512usize];
3020};
3021pub type Event_PadAxis_Callback = ::std::option::Option<
3022    unsafe extern "C" fn(
3023        obj: *mut ::std::os::raw::c_void,
3024        port: ::std::os::raw::c_int,
3025        axis: ::std::os::raw::c_int,
3026        x: f32,
3027        y: f32,
3028    ),
3029>;
3030#[repr(C)]
3031#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3032pub struct Event_PadAxis {
3033    pub Handlers: [Event_PadAxis_Callback; 32usize],
3034    pub Objs: [*mut ::std::os::raw::c_void; 32usize],
3035    pub Count: ::std::os::raw::c_int,
3036}
3037#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3038const _: () = {
3039    ["Size of Event_PadAxis"][::std::mem::size_of::<Event_PadAxis>() - 520usize];
3040    ["Alignment of Event_PadAxis"][::std::mem::align_of::<Event_PadAxis>() - 8usize];
3041    ["Offset of field: Event_PadAxis::Handlers"]
3042        [::std::mem::offset_of!(Event_PadAxis, Handlers) - 0usize];
3043    ["Offset of field: Event_PadAxis::Objs"]
3044        [::std::mem::offset_of!(Event_PadAxis, Objs) - 256usize];
3045    ["Offset of field: Event_PadAxis::Count"]
3046        [::std::mem::offset_of!(Event_PadAxis, Count) - 512usize];
3047};
3048pub type Event_PluginMessage_Callback = ::std::option::Option<
3049    unsafe extern "C" fn(obj: *mut ::std::os::raw::c_void, channel: cc_uint8, data: *mut cc_uint8),
3050>;
3051#[repr(C)]
3052#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3053pub struct Event_PluginMessage {
3054    pub Handlers: [Event_PluginMessage_Callback; 32usize],
3055    pub Objs: [*mut ::std::os::raw::c_void; 32usize],
3056    pub Count: ::std::os::raw::c_int,
3057}
3058#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3059const _: () = {
3060    ["Size of Event_PluginMessage"][::std::mem::size_of::<Event_PluginMessage>() - 520usize];
3061    ["Alignment of Event_PluginMessage"][::std::mem::align_of::<Event_PluginMessage>() - 8usize];
3062    ["Offset of field: Event_PluginMessage::Handlers"]
3063        [::std::mem::offset_of!(Event_PluginMessage, Handlers) - 0usize];
3064    ["Offset of field: Event_PluginMessage::Objs"]
3065        [::std::mem::offset_of!(Event_PluginMessage, Objs) - 256usize];
3066    ["Offset of field: Event_PluginMessage::Count"]
3067        [::std::mem::offset_of!(Event_PluginMessage, Count) - 512usize];
3068};
3069pub type Event_LightingMode_Callback = ::std::option::Option<
3070    unsafe extern "C" fn(obj: *mut ::std::os::raw::c_void, oldMode: cc_uint8, fromServer: cc_bool),
3071>;
3072#[repr(C)]
3073#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3074pub struct Event_LightingMode {
3075    pub Handlers: [Event_LightingMode_Callback; 32usize],
3076    pub Objs: [*mut ::std::os::raw::c_void; 32usize],
3077    pub Count: ::std::os::raw::c_int,
3078}
3079#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3080const _: () = {
3081    ["Size of Event_LightingMode"][::std::mem::size_of::<Event_LightingMode>() - 520usize];
3082    ["Alignment of Event_LightingMode"][::std::mem::align_of::<Event_LightingMode>() - 8usize];
3083    ["Offset of field: Event_LightingMode::Handlers"]
3084        [::std::mem::offset_of!(Event_LightingMode, Handlers) - 0usize];
3085    ["Offset of field: Event_LightingMode::Objs"]
3086        [::std::mem::offset_of!(Event_LightingMode, Objs) - 256usize];
3087    ["Offset of field: Event_LightingMode::Count"]
3088        [::std::mem::offset_of!(Event_LightingMode, Count) - 512usize];
3089};
3090extern "C" {
3091    pub fn Event_Register(
3092        handlers: *mut Event_Void,
3093        obj: *mut ::std::os::raw::c_void,
3094        handler: Event_Void_Callback,
3095    );
3096}
3097extern "C" {
3098    pub fn Event_Unregister(
3099        handlers: *mut Event_Void,
3100        obj: *mut ::std::os::raw::c_void,
3101        handler: Event_Void_Callback,
3102    );
3103}
3104extern "C" {
3105    pub fn Event_RaiseVoid(handlers: *mut Event_Void);
3106}
3107extern "C" {
3108    pub fn Event_RaiseInt(handlers: *mut Event_Int, arg: ::std::os::raw::c_int);
3109}
3110extern "C" {
3111    pub fn Event_RaiseFloat(handlers: *mut Event_Float, arg: f32);
3112}
3113#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
3114    pub static mut EventAPIVersion: ::std::os::raw::c_int;
3115}
3116#[repr(C)]
3117#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3118pub struct _EntityEventsList {
3119    pub Added: Event_Int,
3120    pub Removed: Event_Int,
3121}
3122#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3123const _: () = {
3124    ["Size of _EntityEventsList"][::std::mem::size_of::<_EntityEventsList>() - 1040usize];
3125    ["Alignment of _EntityEventsList"][::std::mem::align_of::<_EntityEventsList>() - 8usize];
3126    ["Offset of field: _EntityEventsList::Added"]
3127        [::std::mem::offset_of!(_EntityEventsList, Added) - 0usize];
3128    ["Offset of field: _EntityEventsList::Removed"]
3129        [::std::mem::offset_of!(_EntityEventsList, Removed) - 520usize];
3130};
3131#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
3132    pub static mut EntityEvents: _EntityEventsList;
3133}
3134#[repr(C)]
3135#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3136pub struct _TabListEventsList {
3137    pub Added: Event_Int,
3138    pub Changed: Event_Int,
3139    pub Removed: Event_Int,
3140}
3141#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3142const _: () = {
3143    ["Size of _TabListEventsList"][::std::mem::size_of::<_TabListEventsList>() - 1560usize];
3144    ["Alignment of _TabListEventsList"][::std::mem::align_of::<_TabListEventsList>() - 8usize];
3145    ["Offset of field: _TabListEventsList::Added"]
3146        [::std::mem::offset_of!(_TabListEventsList, Added) - 0usize];
3147    ["Offset of field: _TabListEventsList::Changed"]
3148        [::std::mem::offset_of!(_TabListEventsList, Changed) - 520usize];
3149    ["Offset of field: _TabListEventsList::Removed"]
3150        [::std::mem::offset_of!(_TabListEventsList, Removed) - 1040usize];
3151};
3152#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
3153    pub static mut TabListEvents: _TabListEventsList;
3154}
3155#[repr(C)]
3156#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3157pub struct _TextureEventsList {
3158    pub AtlasChanged: Event_Void,
3159    pub PackChanged: Event_Void,
3160    pub FileChanged: Event_Entry,
3161}
3162#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3163const _: () = {
3164    ["Size of _TextureEventsList"][::std::mem::size_of::<_TextureEventsList>() - 1560usize];
3165    ["Alignment of _TextureEventsList"][::std::mem::align_of::<_TextureEventsList>() - 8usize];
3166    ["Offset of field: _TextureEventsList::AtlasChanged"]
3167        [::std::mem::offset_of!(_TextureEventsList, AtlasChanged) - 0usize];
3168    ["Offset of field: _TextureEventsList::PackChanged"]
3169        [::std::mem::offset_of!(_TextureEventsList, PackChanged) - 520usize];
3170    ["Offset of field: _TextureEventsList::FileChanged"]
3171        [::std::mem::offset_of!(_TextureEventsList, FileChanged) - 1040usize];
3172};
3173#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
3174    pub static mut TextureEvents: _TextureEventsList;
3175}
3176#[repr(C)]
3177#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3178pub struct _GfxEventsList {
3179    pub ViewDistanceChanged: Event_Void,
3180    pub LowVRAMDetected: Event_Void,
3181    pub ProjectionChanged: Event_Void,
3182    pub ContextLost: Event_Void,
3183    pub ContextRecreated: Event_Void,
3184}
3185#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3186const _: () = {
3187    ["Size of _GfxEventsList"][::std::mem::size_of::<_GfxEventsList>() - 2600usize];
3188    ["Alignment of _GfxEventsList"][::std::mem::align_of::<_GfxEventsList>() - 8usize];
3189    ["Offset of field: _GfxEventsList::ViewDistanceChanged"]
3190        [::std::mem::offset_of!(_GfxEventsList, ViewDistanceChanged) - 0usize];
3191    ["Offset of field: _GfxEventsList::LowVRAMDetected"]
3192        [::std::mem::offset_of!(_GfxEventsList, LowVRAMDetected) - 520usize];
3193    ["Offset of field: _GfxEventsList::ProjectionChanged"]
3194        [::std::mem::offset_of!(_GfxEventsList, ProjectionChanged) - 1040usize];
3195    ["Offset of field: _GfxEventsList::ContextLost"]
3196        [::std::mem::offset_of!(_GfxEventsList, ContextLost) - 1560usize];
3197    ["Offset of field: _GfxEventsList::ContextRecreated"]
3198        [::std::mem::offset_of!(_GfxEventsList, ContextRecreated) - 2080usize];
3199};
3200#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
3201    pub static mut GfxEvents: _GfxEventsList;
3202}
3203#[repr(C)]
3204#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3205pub struct _UserEventsList {
3206    pub BlockChanged: Event_Block,
3207    pub HackPermsChanged: Event_Void,
3208    pub HeldBlockChanged: Event_Void,
3209    pub HacksStateChanged: Event_Void,
3210}
3211#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3212const _: () = {
3213    ["Size of _UserEventsList"][::std::mem::size_of::<_UserEventsList>() - 2080usize];
3214    ["Alignment of _UserEventsList"][::std::mem::align_of::<_UserEventsList>() - 8usize];
3215    ["Offset of field: _UserEventsList::BlockChanged"]
3216        [::std::mem::offset_of!(_UserEventsList, BlockChanged) - 0usize];
3217    ["Offset of field: _UserEventsList::HackPermsChanged"]
3218        [::std::mem::offset_of!(_UserEventsList, HackPermsChanged) - 520usize];
3219    ["Offset of field: _UserEventsList::HeldBlockChanged"]
3220        [::std::mem::offset_of!(_UserEventsList, HeldBlockChanged) - 1040usize];
3221    ["Offset of field: _UserEventsList::HacksStateChanged"]
3222        [::std::mem::offset_of!(_UserEventsList, HacksStateChanged) - 1560usize];
3223};
3224#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
3225    pub static mut UserEvents: _UserEventsList;
3226}
3227#[repr(C)]
3228#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3229pub struct _BlockEventsList {
3230    pub PermissionsChanged: Event_Void,
3231    pub BlockDefChanged: Event_Void,
3232}
3233#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3234const _: () = {
3235    ["Size of _BlockEventsList"][::std::mem::size_of::<_BlockEventsList>() - 1040usize];
3236    ["Alignment of _BlockEventsList"][::std::mem::align_of::<_BlockEventsList>() - 8usize];
3237    ["Offset of field: _BlockEventsList::PermissionsChanged"]
3238        [::std::mem::offset_of!(_BlockEventsList, PermissionsChanged) - 0usize];
3239    ["Offset of field: _BlockEventsList::BlockDefChanged"]
3240        [::std::mem::offset_of!(_BlockEventsList, BlockDefChanged) - 520usize];
3241};
3242#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
3243    pub static mut BlockEvents: _BlockEventsList;
3244}
3245#[repr(C)]
3246#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3247pub struct _WorldEventsList {
3248    pub NewMap: Event_Void,
3249    pub Loading: Event_Float,
3250    pub MapLoaded: Event_Void,
3251    pub EnvVarChanged: Event_Int,
3252    pub LightingModeChanged: Event_LightingMode,
3253}
3254#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3255const _: () = {
3256    ["Size of _WorldEventsList"][::std::mem::size_of::<_WorldEventsList>() - 2600usize];
3257    ["Alignment of _WorldEventsList"][::std::mem::align_of::<_WorldEventsList>() - 8usize];
3258    ["Offset of field: _WorldEventsList::NewMap"]
3259        [::std::mem::offset_of!(_WorldEventsList, NewMap) - 0usize];
3260    ["Offset of field: _WorldEventsList::Loading"]
3261        [::std::mem::offset_of!(_WorldEventsList, Loading) - 520usize];
3262    ["Offset of field: _WorldEventsList::MapLoaded"]
3263        [::std::mem::offset_of!(_WorldEventsList, MapLoaded) - 1040usize];
3264    ["Offset of field: _WorldEventsList::EnvVarChanged"]
3265        [::std::mem::offset_of!(_WorldEventsList, EnvVarChanged) - 1560usize];
3266    ["Offset of field: _WorldEventsList::LightingModeChanged"]
3267        [::std::mem::offset_of!(_WorldEventsList, LightingModeChanged) - 2080usize];
3268};
3269#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
3270    pub static mut WorldEvents: _WorldEventsList;
3271}
3272#[repr(C)]
3273#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3274pub struct _ChatEventsList {
3275    pub FontChanged: Event_Void,
3276    pub ChatReceived: Event_Chat,
3277    pub ChatSending: Event_Chat,
3278    pub ColCodeChanged: Event_Int,
3279}
3280#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3281const _: () = {
3282    ["Size of _ChatEventsList"][::std::mem::size_of::<_ChatEventsList>() - 2080usize];
3283    ["Alignment of _ChatEventsList"][::std::mem::align_of::<_ChatEventsList>() - 8usize];
3284    ["Offset of field: _ChatEventsList::FontChanged"]
3285        [::std::mem::offset_of!(_ChatEventsList, FontChanged) - 0usize];
3286    ["Offset of field: _ChatEventsList::ChatReceived"]
3287        [::std::mem::offset_of!(_ChatEventsList, ChatReceived) - 520usize];
3288    ["Offset of field: _ChatEventsList::ChatSending"]
3289        [::std::mem::offset_of!(_ChatEventsList, ChatSending) - 1040usize];
3290    ["Offset of field: _ChatEventsList::ColCodeChanged"]
3291        [::std::mem::offset_of!(_ChatEventsList, ColCodeChanged) - 1560usize];
3292};
3293#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
3294    pub static mut ChatEvents: _ChatEventsList;
3295}
3296#[repr(C)]
3297#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3298pub struct _WindowEventsList {
3299    pub RedrawNeeded: Event_Void,
3300    pub Resized: Event_Void,
3301    pub Closing: Event_Void,
3302    pub FocusChanged: Event_Void,
3303    pub StateChanged: Event_Void,
3304    pub Created: Event_Void,
3305    pub InactiveChanged: Event_Void,
3306    pub Redrawing: Event_Void,
3307}
3308#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3309const _: () = {
3310    ["Size of _WindowEventsList"][::std::mem::size_of::<_WindowEventsList>() - 4160usize];
3311    ["Alignment of _WindowEventsList"][::std::mem::align_of::<_WindowEventsList>() - 8usize];
3312    ["Offset of field: _WindowEventsList::RedrawNeeded"]
3313        [::std::mem::offset_of!(_WindowEventsList, RedrawNeeded) - 0usize];
3314    ["Offset of field: _WindowEventsList::Resized"]
3315        [::std::mem::offset_of!(_WindowEventsList, Resized) - 520usize];
3316    ["Offset of field: _WindowEventsList::Closing"]
3317        [::std::mem::offset_of!(_WindowEventsList, Closing) - 1040usize];
3318    ["Offset of field: _WindowEventsList::FocusChanged"]
3319        [::std::mem::offset_of!(_WindowEventsList, FocusChanged) - 1560usize];
3320    ["Offset of field: _WindowEventsList::StateChanged"]
3321        [::std::mem::offset_of!(_WindowEventsList, StateChanged) - 2080usize];
3322    ["Offset of field: _WindowEventsList::Created"]
3323        [::std::mem::offset_of!(_WindowEventsList, Created) - 2600usize];
3324    ["Offset of field: _WindowEventsList::InactiveChanged"]
3325        [::std::mem::offset_of!(_WindowEventsList, InactiveChanged) - 3120usize];
3326    ["Offset of field: _WindowEventsList::Redrawing"]
3327        [::std::mem::offset_of!(_WindowEventsList, Redrawing) - 3640usize];
3328};
3329#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
3330    pub static mut WindowEvents: _WindowEventsList;
3331}
3332#[repr(C)]
3333#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3334pub struct _InputEventsList {
3335    pub Press: Event_Int,
3336    pub _down: Event_Input,
3337    pub _up: Event_Input,
3338    pub Wheel: Event_Float,
3339    pub TextChanged: Event_String,
3340    pub Down2: Event_Input,
3341    pub Up2: Event_Input,
3342}
3343#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3344const _: () = {
3345    ["Size of _InputEventsList"][::std::mem::size_of::<_InputEventsList>() - 3640usize];
3346    ["Alignment of _InputEventsList"][::std::mem::align_of::<_InputEventsList>() - 8usize];
3347    ["Offset of field: _InputEventsList::Press"]
3348        [::std::mem::offset_of!(_InputEventsList, Press) - 0usize];
3349    ["Offset of field: _InputEventsList::_down"]
3350        [::std::mem::offset_of!(_InputEventsList, _down) - 520usize];
3351    ["Offset of field: _InputEventsList::_up"]
3352        [::std::mem::offset_of!(_InputEventsList, _up) - 1040usize];
3353    ["Offset of field: _InputEventsList::Wheel"]
3354        [::std::mem::offset_of!(_InputEventsList, Wheel) - 1560usize];
3355    ["Offset of field: _InputEventsList::TextChanged"]
3356        [::std::mem::offset_of!(_InputEventsList, TextChanged) - 2080usize];
3357    ["Offset of field: _InputEventsList::Down2"]
3358        [::std::mem::offset_of!(_InputEventsList, Down2) - 2600usize];
3359    ["Offset of field: _InputEventsList::Up2"]
3360        [::std::mem::offset_of!(_InputEventsList, Up2) - 3120usize];
3361};
3362#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
3363    pub static mut InputEvents: _InputEventsList;
3364}
3365#[repr(C)]
3366#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3367pub struct _PointerEventsList {
3368    pub Moved: Event_Int,
3369    pub Down: Event_Int,
3370    pub Up: Event_Int,
3371    pub RawMoved: Event_RawMove,
3372}
3373#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3374const _: () = {
3375    ["Size of _PointerEventsList"][::std::mem::size_of::<_PointerEventsList>() - 2080usize];
3376    ["Alignment of _PointerEventsList"][::std::mem::align_of::<_PointerEventsList>() - 8usize];
3377    ["Offset of field: _PointerEventsList::Moved"]
3378        [::std::mem::offset_of!(_PointerEventsList, Moved) - 0usize];
3379    ["Offset of field: _PointerEventsList::Down"]
3380        [::std::mem::offset_of!(_PointerEventsList, Down) - 520usize];
3381    ["Offset of field: _PointerEventsList::Up"]
3382        [::std::mem::offset_of!(_PointerEventsList, Up) - 1040usize];
3383    ["Offset of field: _PointerEventsList::RawMoved"]
3384        [::std::mem::offset_of!(_PointerEventsList, RawMoved) - 1560usize];
3385};
3386#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
3387    pub static mut PointerEvents: _PointerEventsList;
3388}
3389#[repr(C)]
3390#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3391pub struct _ControllerEventsList {
3392    pub AxisUpdate: Event_PadAxis,
3393}
3394#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3395const _: () = {
3396    ["Size of _ControllerEventsList"][::std::mem::size_of::<_ControllerEventsList>() - 520usize];
3397    ["Alignment of _ControllerEventsList"]
3398        [::std::mem::align_of::<_ControllerEventsList>() - 8usize];
3399    ["Offset of field: _ControllerEventsList::AxisUpdate"]
3400        [::std::mem::offset_of!(_ControllerEventsList, AxisUpdate) - 0usize];
3401};
3402#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
3403    pub static mut ControllerEvents: _ControllerEventsList;
3404}
3405#[repr(C)]
3406#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3407pub struct _NetEventsList {
3408    pub Connected: Event_Void,
3409    pub Disconnected: Event_Void,
3410    pub PluginMessageReceived: Event_PluginMessage,
3411}
3412#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3413const _: () = {
3414    ["Size of _NetEventsList"][::std::mem::size_of::<_NetEventsList>() - 1560usize];
3415    ["Alignment of _NetEventsList"][::std::mem::align_of::<_NetEventsList>() - 8usize];
3416    ["Offset of field: _NetEventsList::Connected"]
3417        [::std::mem::offset_of!(_NetEventsList, Connected) - 0usize];
3418    ["Offset of field: _NetEventsList::Disconnected"]
3419        [::std::mem::offset_of!(_NetEventsList, Disconnected) - 520usize];
3420    ["Offset of field: _NetEventsList::PluginMessageReceived"]
3421        [::std::mem::offset_of!(_NetEventsList, PluginMessageReceived) - 1040usize];
3422};
3423#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
3424    pub static mut NetEvents: _NetEventsList;
3425}
3426extern "C" {
3427    pub fn Math_Sin(x: f64) -> f64;
3428}
3429extern "C" {
3430    pub fn Math_Cos(x: f64) -> f64;
3431}
3432extern "C" {
3433    pub fn Math_SinF(x: f32) -> f32;
3434}
3435extern "C" {
3436    pub fn Math_CosF(x: f32) -> f32;
3437}
3438pub type RNGState = cc_uint64;
3439extern "C" {
3440    pub fn Random_Seed(rnd: *mut RNGState, seed: ::std::os::raw::c_int);
3441}
3442pub type FP_Random_Seed =
3443    ::std::option::Option<unsafe extern "C" fn(rnd: *mut RNGState, seed: ::std::os::raw::c_int)>;
3444extern "C" {
3445    pub fn Random_Next(rnd: *mut RNGState, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3446}
3447pub type FP_Random_Next = ::std::option::Option<
3448    unsafe extern "C" fn(rnd: *mut RNGState, n: ::std::os::raw::c_int) -> ::std::os::raw::c_int,
3449>;
3450extern "C" {
3451    pub fn Random_Float(rnd: *mut RNGState) -> f32;
3452}
3453pub type MapImportFunc =
3454    ::std::option::Option<unsafe extern "C" fn(stream: *mut Stream) -> cc_result>;
3455#[repr(C)]
3456#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3457pub struct MapImporter {
3458    pub fileExt: *const ::std::os::raw::c_char,
3459    pub import: MapImportFunc,
3460    pub next: *mut MapImporter,
3461}
3462#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3463const _: () = {
3464    ["Size of MapImporter"][::std::mem::size_of::<MapImporter>() - 24usize];
3465    ["Alignment of MapImporter"][::std::mem::align_of::<MapImporter>() - 8usize];
3466    ["Offset of field: MapImporter::fileExt"]
3467        [::std::mem::offset_of!(MapImporter, fileExt) - 0usize];
3468    ["Offset of field: MapImporter::import"][::std::mem::offset_of!(MapImporter, import) - 8usize];
3469    ["Offset of field: MapImporter::next"][::std::mem::offset_of!(MapImporter, next) - 16usize];
3470};
3471extern "C" {
3472    pub fn MapImporter_Register(imp: *mut MapImporter);
3473}
3474extern "C" {
3475    pub fn MapImporter_Find(path: *const cc_string) -> *mut MapImporter;
3476}
3477extern "C" {
3478    pub fn Map_LoadFrom(path: *const cc_string) -> cc_result;
3479}
3480#[repr(C)]
3481#[derive(Copy, Clone)]
3482pub union IntAndFloat {
3483    pub f: f32,
3484    pub i: cc_int32,
3485    pub u: cc_uint32,
3486}
3487#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3488const _: () = {
3489    ["Size of IntAndFloat"][::std::mem::size_of::<IntAndFloat>() - 4usize];
3490    ["Alignment of IntAndFloat"][::std::mem::align_of::<IntAndFloat>() - 4usize];
3491    ["Offset of field: IntAndFloat::f"][::std::mem::offset_of!(IntAndFloat, f) - 0usize];
3492    ["Offset of field: IntAndFloat::i"][::std::mem::offset_of!(IntAndFloat, i) - 0usize];
3493    ["Offset of field: IntAndFloat::u"][::std::mem::offset_of!(IntAndFloat, u) - 0usize];
3494};
3495pub type Game_Draw2DHook = ::std::option::Option<unsafe extern "C" fn(delta: f32)>;
3496#[repr(C)]
3497#[derive(Debug, Copy, Clone, PartialEq)]
3498pub struct _GameData {
3499    pub Width: ::std::os::raw::c_int,
3500    pub Height: ::std::os::raw::c_int,
3501    pub Time: f64,
3502    pub ChunkUpdates: ::std::os::raw::c_int,
3503    pub CurrentState: ::std::os::raw::c_int,
3504    pub Draw2DHooks: [Game_Draw2DHook; 4usize],
3505}
3506#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3507const _: () = {
3508    ["Size of _GameData"][::std::mem::size_of::<_GameData>() - 56usize];
3509    ["Alignment of _GameData"][::std::mem::align_of::<_GameData>() - 8usize];
3510    ["Offset of field: _GameData::Width"][::std::mem::offset_of!(_GameData, Width) - 0usize];
3511    ["Offset of field: _GameData::Height"][::std::mem::offset_of!(_GameData, Height) - 4usize];
3512    ["Offset of field: _GameData::Time"][::std::mem::offset_of!(_GameData, Time) - 8usize];
3513    ["Offset of field: _GameData::ChunkUpdates"]
3514        [::std::mem::offset_of!(_GameData, ChunkUpdates) - 16usize];
3515    ["Offset of field: _GameData::CurrentState"]
3516        [::std::mem::offset_of!(_GameData, CurrentState) - 20usize];
3517    ["Offset of field: _GameData::Draw2DHooks"]
3518        [::std::mem::offset_of!(_GameData, Draw2DHooks) - 24usize];
3519};
3520#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
3521    pub static mut Game: _GameData;
3522}
3523#[repr(C)]
3524#[derive(Debug, Copy, Clone, PartialEq)]
3525pub struct RayTracer {
3526    pub pos: IVec3,
3527    pub origin: Vec3,
3528    pub dir: Vec3,
3529    pub Min: Vec3,
3530    pub Max: Vec3,
3531    pub block: BlockID,
3532    pub step: IVec3,
3533    pub tMax: Vec3,
3534    pub tDelta: Vec3,
3535    pub intersect: Vec3,
3536    pub translatedPos: IVec3,
3537    pub valid: cc_bool,
3538    pub closest: Face,
3539    pub invDir: Vec3,
3540}
3541#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3542const _: () = {
3543    ["Size of RayTracer"][::std::mem::size_of::<RayTracer>() - 140usize];
3544    ["Alignment of RayTracer"][::std::mem::align_of::<RayTracer>() - 4usize];
3545    ["Offset of field: RayTracer::pos"][::std::mem::offset_of!(RayTracer, pos) - 0usize];
3546    ["Offset of field: RayTracer::origin"][::std::mem::offset_of!(RayTracer, origin) - 12usize];
3547    ["Offset of field: RayTracer::dir"][::std::mem::offset_of!(RayTracer, dir) - 24usize];
3548    ["Offset of field: RayTracer::Min"][::std::mem::offset_of!(RayTracer, Min) - 36usize];
3549    ["Offset of field: RayTracer::Max"][::std::mem::offset_of!(RayTracer, Max) - 48usize];
3550    ["Offset of field: RayTracer::block"][::std::mem::offset_of!(RayTracer, block) - 60usize];
3551    ["Offset of field: RayTracer::step"][::std::mem::offset_of!(RayTracer, step) - 64usize];
3552    ["Offset of field: RayTracer::tMax"][::std::mem::offset_of!(RayTracer, tMax) - 76usize];
3553    ["Offset of field: RayTracer::tDelta"][::std::mem::offset_of!(RayTracer, tDelta) - 88usize];
3554    ["Offset of field: RayTracer::intersect"]
3555        [::std::mem::offset_of!(RayTracer, intersect) - 100usize];
3556    ["Offset of field: RayTracer::translatedPos"]
3557        [::std::mem::offset_of!(RayTracer, translatedPos) - 112usize];
3558    ["Offset of field: RayTracer::valid"][::std::mem::offset_of!(RayTracer, valid) - 124usize];
3559    ["Offset of field: RayTracer::closest"][::std::mem::offset_of!(RayTracer, closest) - 125usize];
3560    ["Offset of field: RayTracer::invDir"][::std::mem::offset_of!(RayTracer, invDir) - 128usize];
3561};
3562pub const GAME_VERSION__VERSION_0017: GAME_VERSION_ = 27;
3563pub const GAME_VERSION__VERSION_0019: GAME_VERSION_ = 28;
3564pub const GAME_VERSION__VERSION_0023: GAME_VERSION_ = 29;
3565pub const GAME_VERSION__VERSION_0030: GAME_VERSION_ = 30;
3566pub const GAME_VERSION__VERSION_CPE: GAME_VERSION_ = 31;
3567pub type GAME_VERSION_ = ::std::os::raw::c_int;
3568#[repr(C)]
3569#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3570pub struct GameVersion {
3571    pub Name: *const ::std::os::raw::c_char,
3572    pub HasCPE: cc_bool,
3573    pub Version: cc_uint8,
3574    pub Protocol: cc_uint8,
3575    pub MaxCoreBlock: cc_uint8,
3576    pub BlocksPerRow: cc_uint8,
3577    pub InventorySize: cc_uint8,
3578    pub Inventory: *const cc_uint8,
3579    pub Hotbar: *const cc_uint8,
3580    pub DefaultTexpack: *const ::std::os::raw::c_char,
3581}
3582#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3583const _: () = {
3584    ["Size of GameVersion"][::std::mem::size_of::<GameVersion>() - 40usize];
3585    ["Alignment of GameVersion"][::std::mem::align_of::<GameVersion>() - 8usize];
3586    ["Offset of field: GameVersion::Name"][::std::mem::offset_of!(GameVersion, Name) - 0usize];
3587    ["Offset of field: GameVersion::HasCPE"][::std::mem::offset_of!(GameVersion, HasCPE) - 8usize];
3588    ["Offset of field: GameVersion::Version"]
3589        [::std::mem::offset_of!(GameVersion, Version) - 9usize];
3590    ["Offset of field: GameVersion::Protocol"]
3591        [::std::mem::offset_of!(GameVersion, Protocol) - 10usize];
3592    ["Offset of field: GameVersion::MaxCoreBlock"]
3593        [::std::mem::offset_of!(GameVersion, MaxCoreBlock) - 11usize];
3594    ["Offset of field: GameVersion::BlocksPerRow"]
3595        [::std::mem::offset_of!(GameVersion, BlocksPerRow) - 12usize];
3596    ["Offset of field: GameVersion::InventorySize"]
3597        [::std::mem::offset_of!(GameVersion, InventorySize) - 13usize];
3598    ["Offset of field: GameVersion::Inventory"]
3599        [::std::mem::offset_of!(GameVersion, Inventory) - 16usize];
3600    ["Offset of field: GameVersion::Hotbar"][::std::mem::offset_of!(GameVersion, Hotbar) - 24usize];
3601    ["Offset of field: GameVersion::DefaultTexpack"]
3602        [::std::mem::offset_of!(GameVersion, DefaultTexpack) - 32usize];
3603};
3604pub const FpsLimitMethod_FPS_LIMIT_VSYNC: FpsLimitMethod = 0;
3605pub const FpsLimitMethod_FPS_LIMIT_30: FpsLimitMethod = 1;
3606pub const FpsLimitMethod_FPS_LIMIT_60: FpsLimitMethod = 2;
3607pub const FpsLimitMethod_FPS_LIMIT_120: FpsLimitMethod = 3;
3608pub const FpsLimitMethod_FPS_LIMIT_144: FpsLimitMethod = 4;
3609pub const FpsLimitMethod_FPS_LIMIT_NONE: FpsLimitMethod = 5;
3610pub const FpsLimitMethod_FPS_LIMIT_COUNT: FpsLimitMethod = 6;
3611pub type FpsLimitMethod = ::std::os::raw::c_int;
3612extern "C" {
3613    pub fn Game_UpdateBlock(
3614        x: ::std::os::raw::c_int,
3615        y: ::std::os::raw::c_int,
3616        z: ::std::os::raw::c_int,
3617        block: BlockID,
3618    );
3619}
3620extern "C" {
3621    pub fn Game_ChangeBlock(
3622        x: ::std::os::raw::c_int,
3623        y: ::std::os::raw::c_int,
3624        z: ::std::os::raw::c_int,
3625        block: BlockID,
3626    );
3627}
3628#[repr(C)]
3629#[derive(Debug, Copy, Clone, PartialEq)]
3630pub struct ScheduledTask {
3631    pub accumulator: f64,
3632    pub interval: f64,
3633    pub Callback: ::std::option::Option<unsafe extern "C" fn(task: *mut ScheduledTask)>,
3634}
3635#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3636const _: () = {
3637    ["Size of ScheduledTask"][::std::mem::size_of::<ScheduledTask>() - 24usize];
3638    ["Alignment of ScheduledTask"][::std::mem::align_of::<ScheduledTask>() - 8usize];
3639    ["Offset of field: ScheduledTask::accumulator"]
3640        [::std::mem::offset_of!(ScheduledTask, accumulator) - 0usize];
3641    ["Offset of field: ScheduledTask::interval"]
3642        [::std::mem::offset_of!(ScheduledTask, interval) - 8usize];
3643    ["Offset of field: ScheduledTask::Callback"]
3644        [::std::mem::offset_of!(ScheduledTask, Callback) - 16usize];
3645};
3646pub type ScheduledTaskCallback =
3647    ::std::option::Option<unsafe extern "C" fn(task: *mut ScheduledTask)>;
3648extern "C" {
3649    pub fn ScheduledTask_Add(
3650        interval: f64,
3651        callback: ScheduledTaskCallback,
3652    ) -> ::std::os::raw::c_int;
3653}
3654#[repr(C)]
3655#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
3656pub struct MapGenerator {
3657    pub Prepare: ::std::option::Option<unsafe extern "C" fn() -> cc_bool>,
3658    pub Generate: ::std::option::Option<unsafe extern "C" fn()>,
3659}
3660#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3661const _: () = {
3662    ["Size of MapGenerator"][::std::mem::size_of::<MapGenerator>() - 16usize];
3663    ["Alignment of MapGenerator"][::std::mem::align_of::<MapGenerator>() - 8usize];
3664    ["Offset of field: MapGenerator::Prepare"]
3665        [::std::mem::offset_of!(MapGenerator, Prepare) - 0usize];
3666    ["Offset of field: MapGenerator::Generate"]
3667        [::std::mem::offset_of!(MapGenerator, Generate) - 8usize];
3668};
3669#[repr(C)]
3670#[derive(Debug, Copy, Clone)]
3671pub struct MenuOptionsScreen {
3672    _unused: [u8; 0],
3673}
3674pub const VertexFormat__VERTEX_FORMAT_COLOURED: VertexFormat_ = 0;
3675pub const VertexFormat__VERTEX_FORMAT_TEXTURED: VertexFormat_ = 1;
3676pub type VertexFormat_ = ::std::os::raw::c_int;
3677pub use self::VertexFormat_ as VertexFormat;
3678#[repr(C)]
3679#[derive(Debug, Copy, Clone, PartialEq)]
3680pub struct VertexColoured {
3681    pub x: f32,
3682    pub y: f32,
3683    pub z: f32,
3684    pub Col: PackedCol,
3685}
3686#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3687const _: () = {
3688    ["Size of VertexColoured"][::std::mem::size_of::<VertexColoured>() - 16usize];
3689    ["Alignment of VertexColoured"][::std::mem::align_of::<VertexColoured>() - 4usize];
3690    ["Offset of field: VertexColoured::x"][::std::mem::offset_of!(VertexColoured, x) - 0usize];
3691    ["Offset of field: VertexColoured::y"][::std::mem::offset_of!(VertexColoured, y) - 4usize];
3692    ["Offset of field: VertexColoured::z"][::std::mem::offset_of!(VertexColoured, z) - 8usize];
3693    ["Offset of field: VertexColoured::Col"][::std::mem::offset_of!(VertexColoured, Col) - 12usize];
3694};
3695#[repr(C)]
3696#[derive(Debug, Copy, Clone, PartialEq)]
3697pub struct VertexTextured {
3698    pub x: f32,
3699    pub y: f32,
3700    pub z: f32,
3701    pub Col: PackedCol,
3702    pub U: f32,
3703    pub V: f32,
3704}
3705#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3706const _: () = {
3707    ["Size of VertexTextured"][::std::mem::size_of::<VertexTextured>() - 24usize];
3708    ["Alignment of VertexTextured"][::std::mem::align_of::<VertexTextured>() - 4usize];
3709    ["Offset of field: VertexTextured::x"][::std::mem::offset_of!(VertexTextured, x) - 0usize];
3710    ["Offset of field: VertexTextured::y"][::std::mem::offset_of!(VertexTextured, y) - 4usize];
3711    ["Offset of field: VertexTextured::z"][::std::mem::offset_of!(VertexTextured, z) - 8usize];
3712    ["Offset of field: VertexTextured::Col"][::std::mem::offset_of!(VertexTextured, Col) - 12usize];
3713    ["Offset of field: VertexTextured::U"][::std::mem::offset_of!(VertexTextured, U) - 16usize];
3714    ["Offset of field: VertexTextured::V"][::std::mem::offset_of!(VertexTextured, V) - 20usize];
3715};
3716#[repr(C)]
3717#[derive(Debug, Copy, Clone, PartialEq)]
3718pub struct _GfxData {
3719    pub MaxTexWidth: ::std::os::raw::c_int,
3720    pub MaxTexHeight: ::std::os::raw::c_int,
3721    pub MaxTexSize: ::std::os::raw::c_int,
3722    pub LostContext: cc_bool,
3723    pub Mipmaps: cc_bool,
3724    pub ManagedTextures: cc_bool,
3725    pub Created: cc_bool,
3726    pub View: Matrix,
3727    pub Projection: Matrix,
3728    pub SupportsNonPowTwoTextures: cc_bool,
3729    pub NoUVSupport: cc_bool,
3730    pub BackendType: cc_uint8,
3731    pub __pad: cc_bool,
3732    pub MaxLowResTexSize: ::std::os::raw::c_int,
3733    pub MinTexWidth: ::std::os::raw::c_int,
3734    pub MinTexHeight: ::std::os::raw::c_int,
3735    pub ReducedPerfMode: cc_bool,
3736    pub ReducedPerfModeCooldown: cc_uint8,
3737    pub DefaultIb: GfxResourceID,
3738}
3739#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3740const _: () = {
3741    ["Size of _GfxData"][::std::mem::size_of::<_GfxData>() - 176usize];
3742    ["Alignment of _GfxData"][::std::mem::align_of::<_GfxData>() - 8usize];
3743    ["Offset of field: _GfxData::MaxTexWidth"]
3744        [::std::mem::offset_of!(_GfxData, MaxTexWidth) - 0usize];
3745    ["Offset of field: _GfxData::MaxTexHeight"]
3746        [::std::mem::offset_of!(_GfxData, MaxTexHeight) - 4usize];
3747    ["Offset of field: _GfxData::MaxTexSize"]
3748        [::std::mem::offset_of!(_GfxData, MaxTexSize) - 8usize];
3749    ["Offset of field: _GfxData::LostContext"]
3750        [::std::mem::offset_of!(_GfxData, LostContext) - 12usize];
3751    ["Offset of field: _GfxData::Mipmaps"][::std::mem::offset_of!(_GfxData, Mipmaps) - 13usize];
3752    ["Offset of field: _GfxData::ManagedTextures"]
3753        [::std::mem::offset_of!(_GfxData, ManagedTextures) - 14usize];
3754    ["Offset of field: _GfxData::Created"][::std::mem::offset_of!(_GfxData, Created) - 15usize];
3755    ["Offset of field: _GfxData::View"][::std::mem::offset_of!(_GfxData, View) - 16usize];
3756    ["Offset of field: _GfxData::Projection"]
3757        [::std::mem::offset_of!(_GfxData, Projection) - 80usize];
3758    ["Offset of field: _GfxData::SupportsNonPowTwoTextures"]
3759        [::std::mem::offset_of!(_GfxData, SupportsNonPowTwoTextures) - 144usize];
3760    ["Offset of field: _GfxData::NoUVSupport"]
3761        [::std::mem::offset_of!(_GfxData, NoUVSupport) - 145usize];
3762    ["Offset of field: _GfxData::BackendType"]
3763        [::std::mem::offset_of!(_GfxData, BackendType) - 146usize];
3764    ["Offset of field: _GfxData::__pad"][::std::mem::offset_of!(_GfxData, __pad) - 147usize];
3765    ["Offset of field: _GfxData::MaxLowResTexSize"]
3766        [::std::mem::offset_of!(_GfxData, MaxLowResTexSize) - 148usize];
3767    ["Offset of field: _GfxData::MinTexWidth"]
3768        [::std::mem::offset_of!(_GfxData, MinTexWidth) - 152usize];
3769    ["Offset of field: _GfxData::MinTexHeight"]
3770        [::std::mem::offset_of!(_GfxData, MinTexHeight) - 156usize];
3771    ["Offset of field: _GfxData::ReducedPerfMode"]
3772        [::std::mem::offset_of!(_GfxData, ReducedPerfMode) - 160usize];
3773    ["Offset of field: _GfxData::ReducedPerfModeCooldown"]
3774        [::std::mem::offset_of!(_GfxData, ReducedPerfModeCooldown) - 161usize];
3775    ["Offset of field: _GfxData::DefaultIb"]
3776        [::std::mem::offset_of!(_GfxData, DefaultIb) - 168usize];
3777};
3778#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
3779    pub static mut Gfx: _GfxData;
3780}
3781extern "C" {
3782    pub fn Gfx_CreateTexture(bmp: *mut Bitmap, flags: cc_uint8, mipmaps: cc_bool) -> GfxResourceID;
3783}
3784extern "C" {
3785    pub fn Gfx_UpdateTexturePart(
3786        texId: GfxResourceID,
3787        x: ::std::os::raw::c_int,
3788        y: ::std::os::raw::c_int,
3789        part: *mut Bitmap,
3790        mipmaps: cc_bool,
3791    );
3792}
3793extern "C" {
3794    pub fn Gfx_BindTexture(texId: GfxResourceID);
3795}
3796extern "C" {
3797    pub fn Gfx_DeleteTexture(texId: *mut GfxResourceID);
3798}
3799extern "C" {
3800    pub fn Gfx_SetTexturing(enabled: cc_bool);
3801}
3802extern "C" {
3803    pub fn Gfx_EnableMipmaps();
3804}
3805extern "C" {
3806    pub fn Gfx_DisableMipmaps();
3807}
3808pub const GfxBuffers__GFX_BUFFER_COLOR: GfxBuffers_ = 1;
3809pub const GfxBuffers__GFX_BUFFER_DEPTH: GfxBuffers_ = 2;
3810pub type GfxBuffers_ = ::std::os::raw::c_int;
3811pub use self::GfxBuffers_ as GfxBuffers;
3812extern "C" {
3813    pub fn Gfx_ClearBuffers(buffers: GfxBuffers);
3814}
3815extern "C" {
3816    pub fn Gfx_ClearColor(color: PackedCol);
3817}
3818pub const Screen3DS_TOP_SCREEN: Screen3DS = 0;
3819pub const Screen3DS_BOTTOM_SCREEN: Screen3DS = 1;
3820pub type Screen3DS = ::std::os::raw::c_int;
3821pub const FogFunc__FOG_LINEAR: FogFunc_ = 0;
3822pub const FogFunc__FOG_EXP: FogFunc_ = 1;
3823pub const FogFunc__FOG_EXP2: FogFunc_ = 2;
3824pub type FogFunc_ = ::std::os::raw::c_int;
3825pub use self::FogFunc_ as FogFunc;
3826extern "C" {
3827    pub fn Gfx_GetFog() -> cc_bool;
3828}
3829extern "C" {
3830    pub fn Gfx_SetFog(enabled: cc_bool);
3831}
3832extern "C" {
3833    pub fn Gfx_SetFogCol(col: PackedCol);
3834}
3835extern "C" {
3836    pub fn Gfx_SetFogDensity(value: f32);
3837}
3838extern "C" {
3839    pub fn Gfx_SetFogEnd(value: f32);
3840}
3841extern "C" {
3842    pub fn Gfx_SetFogMode(func: FogFunc);
3843}
3844extern "C" {
3845    pub fn Gfx_SetFaceCulling(enabled: cc_bool);
3846}
3847extern "C" {
3848    pub fn Gfx_SetAlphaTest(enabled: cc_bool);
3849}
3850extern "C" {
3851    pub fn Gfx_SetAlphaBlending(enabled: cc_bool);
3852}
3853extern "C" {
3854    pub fn Gfx_SetAlphaArgBlend(enabled: cc_bool);
3855}
3856extern "C" {
3857    pub fn Gfx_SetDepthTest(enabled: cc_bool);
3858}
3859extern "C" {
3860    pub fn Gfx_SetDepthWrite(enabled: cc_bool);
3861}
3862extern "C" {
3863    pub fn Gfx_SetColorWrite(r: cc_bool, g: cc_bool, b: cc_bool, a: cc_bool);
3864}
3865extern "C" {
3866    pub fn Gfx_DepthOnlyRendering(depthOnly: cc_bool);
3867}
3868pub type Gfx_FillIBFunc = ::std::option::Option<
3869    unsafe extern "C" fn(
3870        indices: *mut cc_uint16,
3871        count: ::std::os::raw::c_int,
3872        obj: *mut ::std::os::raw::c_void,
3873    ),
3874>;
3875extern "C" {
3876    pub fn Gfx_CreateIb2(
3877        count: ::std::os::raw::c_int,
3878        fillFunc: Gfx_FillIBFunc,
3879        obj: *mut ::std::os::raw::c_void,
3880    ) -> GfxResourceID;
3881}
3882extern "C" {
3883    pub fn Gfx_BindIb(ib: GfxResourceID);
3884}
3885extern "C" {
3886    pub fn Gfx_DeleteIb(ib: *mut GfxResourceID);
3887}
3888extern "C" {
3889    pub fn Gfx_CreateVb(fmt: VertexFormat, count: ::std::os::raw::c_int) -> GfxResourceID;
3890}
3891extern "C" {
3892    pub fn Gfx_BindVb(vb: GfxResourceID);
3893}
3894extern "C" {
3895    pub fn Gfx_DeleteVb(vb: *mut GfxResourceID);
3896}
3897extern "C" {
3898    pub fn Gfx_LockVb(
3899        vb: GfxResourceID,
3900        fmt: VertexFormat,
3901        count: ::std::os::raw::c_int,
3902    ) -> *mut ::std::os::raw::c_void;
3903}
3904extern "C" {
3905    pub fn Gfx_UnlockVb(vb: GfxResourceID);
3906}
3907extern "C" {
3908    pub fn Gfx_CreateDynamicVb(
3909        fmt: VertexFormat,
3910        maxVertices: ::std::os::raw::c_int,
3911    ) -> GfxResourceID;
3912}
3913extern "C" {
3914    pub fn Gfx_BindDynamicVb(vb: GfxResourceID);
3915}
3916extern "C" {
3917    pub fn Gfx_DeleteDynamicVb(vb: *mut GfxResourceID);
3918}
3919extern "C" {
3920    pub fn Gfx_LockDynamicVb(
3921        vb: GfxResourceID,
3922        fmt: VertexFormat,
3923        count: ::std::os::raw::c_int,
3924    ) -> *mut ::std::os::raw::c_void;
3925}
3926extern "C" {
3927    pub fn Gfx_UnlockDynamicVb(vb: GfxResourceID);
3928}
3929extern "C" {
3930    pub fn Gfx_SetDynamicVbData(
3931        vb: GfxResourceID,
3932        vertices: *mut ::std::os::raw::c_void,
3933        vCount: ::std::os::raw::c_int,
3934    );
3935}
3936extern "C" {
3937    pub fn Gfx_SetVertexFormat(fmt: VertexFormat);
3938}
3939extern "C" {
3940    pub fn Gfx_DrawVb_Lines(verticesCount: ::std::os::raw::c_int);
3941}
3942extern "C" {
3943    pub fn Gfx_DrawVb_IndexedTris_Range(
3944        verticesCount: ::std::os::raw::c_int,
3945        startVertex: ::std::os::raw::c_int,
3946    );
3947}
3948extern "C" {
3949    pub fn Gfx_DrawVb_IndexedTris(verticesCount: ::std::os::raw::c_int);
3950}
3951pub const MatrixType__MATRIX_PROJ: MatrixType_ = 0;
3952pub const MatrixType__MATRIX_VIEW: MatrixType_ = 1;
3953pub type MatrixType_ = ::std::os::raw::c_int;
3954pub use self::MatrixType_ as MatrixType;
3955extern "C" {
3956    pub fn Gfx_LoadMatrix(type_: MatrixType, matrix: *const Matrix);
3957}
3958extern "C" {
3959    pub fn Gfx_EnableTextureOffset(x: f32, y: f32);
3960}
3961extern "C" {
3962    pub fn Gfx_DisableTextureOffset();
3963}
3964extern "C" {
3965    pub fn Gfx_SetViewport(
3966        x: ::std::os::raw::c_int,
3967        y: ::std::os::raw::c_int,
3968        w: ::std::os::raw::c_int,
3969        h: ::std::os::raw::c_int,
3970    );
3971}
3972extern "C" {
3973    pub fn Gfx_SetScissor(
3974        x: ::std::os::raw::c_int,
3975        y: ::std::os::raw::c_int,
3976        w: ::std::os::raw::c_int,
3977        h: ::std::os::raw::c_int,
3978    );
3979}
3980pub const GuiAnchor_ANCHOR_MIN: GuiAnchor = 0;
3981pub const GuiAnchor_ANCHOR_CENTRE: GuiAnchor = 1;
3982pub const GuiAnchor_ANCHOR_MAX: GuiAnchor = 2;
3983pub const GuiAnchor_ANCHOR_CENTRE_MIN: GuiAnchor = 3;
3984pub const GuiAnchor_ANCHOR_CENTRE_MAX: GuiAnchor = 4;
3985pub type GuiAnchor = ::std::os::raw::c_int;
3986#[repr(C)]
3987#[derive(Debug, Copy, Clone, PartialEq)]
3988pub struct _GuiData {
3989    pub Screens: *mut *mut Screen,
3990    pub ScreensCount: ::std::os::raw::c_int,
3991    pub ClassicTexture: cc_bool,
3992    pub ClassicTabList: cc_bool,
3993    pub ClassicMenu: cc_bool,
3994    pub ClassicChat: cc_bool,
3995    pub Chatlines: ::std::os::raw::c_int,
3996    pub ClickableChat: cc_bool,
3997    pub TabAutocomplete: cc_bool,
3998    pub ShowFPS: cc_bool,
3999    pub ClassicInventory: cc_bool,
4000    pub RawHotbarScale: f32,
4001    pub RawChatScale: f32,
4002    pub RawInventoryScale: f32,
4003    pub RawCrosshairScale: f32,
4004    pub GuiTex: GfxResourceID,
4005    pub GuiClassicTex: GfxResourceID,
4006    pub IconsTex: GfxResourceID,
4007    pub TouchTex: GfxResourceID,
4008    pub DefaultLines: ::std::os::raw::c_int,
4009    pub _unused: ::std::os::raw::c_int,
4010    pub RawTouchScale: f32,
4011    pub InputGrab: *mut Screen,
4012    pub AutoScaleChat: cc_bool,
4013    pub TouchUI: cc_bool,
4014    pub HideCrosshair: cc_bool,
4015    pub HideHand: cc_bool,
4016    pub HideHotbar: cc_bool,
4017    pub BarSize: f32,
4018    pub CinematicBarColor: PackedCol,
4019}
4020#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4021const _: () = {
4022    ["Size of _GuiData"][::std::mem::size_of::<_GuiData>() - 112usize];
4023    ["Alignment of _GuiData"][::std::mem::align_of::<_GuiData>() - 8usize];
4024    ["Offset of field: _GuiData::Screens"][::std::mem::offset_of!(_GuiData, Screens) - 0usize];
4025    ["Offset of field: _GuiData::ScreensCount"]
4026        [::std::mem::offset_of!(_GuiData, ScreensCount) - 8usize];
4027    ["Offset of field: _GuiData::ClassicTexture"]
4028        [::std::mem::offset_of!(_GuiData, ClassicTexture) - 12usize];
4029    ["Offset of field: _GuiData::ClassicTabList"]
4030        [::std::mem::offset_of!(_GuiData, ClassicTabList) - 13usize];
4031    ["Offset of field: _GuiData::ClassicMenu"]
4032        [::std::mem::offset_of!(_GuiData, ClassicMenu) - 14usize];
4033    ["Offset of field: _GuiData::ClassicChat"]
4034        [::std::mem::offset_of!(_GuiData, ClassicChat) - 15usize];
4035    ["Offset of field: _GuiData::Chatlines"][::std::mem::offset_of!(_GuiData, Chatlines) - 16usize];
4036    ["Offset of field: _GuiData::ClickableChat"]
4037        [::std::mem::offset_of!(_GuiData, ClickableChat) - 20usize];
4038    ["Offset of field: _GuiData::TabAutocomplete"]
4039        [::std::mem::offset_of!(_GuiData, TabAutocomplete) - 21usize];
4040    ["Offset of field: _GuiData::ShowFPS"][::std::mem::offset_of!(_GuiData, ShowFPS) - 22usize];
4041    ["Offset of field: _GuiData::ClassicInventory"]
4042        [::std::mem::offset_of!(_GuiData, ClassicInventory) - 23usize];
4043    ["Offset of field: _GuiData::RawHotbarScale"]
4044        [::std::mem::offset_of!(_GuiData, RawHotbarScale) - 24usize];
4045    ["Offset of field: _GuiData::RawChatScale"]
4046        [::std::mem::offset_of!(_GuiData, RawChatScale) - 28usize];
4047    ["Offset of field: _GuiData::RawInventoryScale"]
4048        [::std::mem::offset_of!(_GuiData, RawInventoryScale) - 32usize];
4049    ["Offset of field: _GuiData::RawCrosshairScale"]
4050        [::std::mem::offset_of!(_GuiData, RawCrosshairScale) - 36usize];
4051    ["Offset of field: _GuiData::GuiTex"][::std::mem::offset_of!(_GuiData, GuiTex) - 40usize];
4052    ["Offset of field: _GuiData::GuiClassicTex"]
4053        [::std::mem::offset_of!(_GuiData, GuiClassicTex) - 48usize];
4054    ["Offset of field: _GuiData::IconsTex"][::std::mem::offset_of!(_GuiData, IconsTex) - 56usize];
4055    ["Offset of field: _GuiData::TouchTex"][::std::mem::offset_of!(_GuiData, TouchTex) - 64usize];
4056    ["Offset of field: _GuiData::DefaultLines"]
4057        [::std::mem::offset_of!(_GuiData, DefaultLines) - 72usize];
4058    ["Offset of field: _GuiData::_unused"][::std::mem::offset_of!(_GuiData, _unused) - 76usize];
4059    ["Offset of field: _GuiData::RawTouchScale"]
4060        [::std::mem::offset_of!(_GuiData, RawTouchScale) - 80usize];
4061    ["Offset of field: _GuiData::InputGrab"][::std::mem::offset_of!(_GuiData, InputGrab) - 88usize];
4062    ["Offset of field: _GuiData::AutoScaleChat"]
4063        [::std::mem::offset_of!(_GuiData, AutoScaleChat) - 96usize];
4064    ["Offset of field: _GuiData::TouchUI"][::std::mem::offset_of!(_GuiData, TouchUI) - 97usize];
4065    ["Offset of field: _GuiData::HideCrosshair"]
4066        [::std::mem::offset_of!(_GuiData, HideCrosshair) - 98usize];
4067    ["Offset of field: _GuiData::HideHand"][::std::mem::offset_of!(_GuiData, HideHand) - 99usize];
4068    ["Offset of field: _GuiData::HideHotbar"]
4069        [::std::mem::offset_of!(_GuiData, HideHotbar) - 100usize];
4070    ["Offset of field: _GuiData::BarSize"][::std::mem::offset_of!(_GuiData, BarSize) - 104usize];
4071    ["Offset of field: _GuiData::CinematicBarColor"]
4072        [::std::mem::offset_of!(_GuiData, CinematicBarColor) - 108usize];
4073};
4074#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
4075    pub static mut Gui: _GuiData;
4076}
4077#[repr(C)]
4078#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
4079pub struct ScreenVTABLE {
4080    pub Init: ::std::option::Option<unsafe extern "C" fn(elem: *mut ::std::os::raw::c_void)>,
4081    pub Update:
4082        ::std::option::Option<unsafe extern "C" fn(elem: *mut ::std::os::raw::c_void, delta: f32)>,
4083    pub Free: ::std::option::Option<unsafe extern "C" fn(elem: *mut ::std::os::raw::c_void)>,
4084    pub Render:
4085        ::std::option::Option<unsafe extern "C" fn(elem: *mut ::std::os::raw::c_void, delta: f32)>,
4086    pub BuildMesh: ::std::option::Option<unsafe extern "C" fn(elem: *mut ::std::os::raw::c_void)>,
4087    pub HandlesInputDown: ::std::option::Option<
4088        unsafe extern "C" fn(
4089            elem: *mut ::std::os::raw::c_void,
4090            key: ::std::os::raw::c_int,
4091            device: *mut InputDevice,
4092        ) -> ::std::os::raw::c_int,
4093    >,
4094    pub OnInputUp: ::std::option::Option<
4095        unsafe extern "C" fn(
4096            elem: *mut ::std::os::raw::c_void,
4097            key: ::std::os::raw::c_int,
4098            device: *mut InputDevice,
4099        ),
4100    >,
4101    pub HandlesKeyPress: ::std::option::Option<
4102        unsafe extern "C" fn(
4103            elem: *mut ::std::os::raw::c_void,
4104            keyChar: ::std::os::raw::c_char,
4105        ) -> ::std::os::raw::c_int,
4106    >,
4107    pub HandlesTextChanged: ::std::option::Option<
4108        unsafe extern "C" fn(
4109            elem: *mut ::std::os::raw::c_void,
4110            str_: *const cc_string,
4111        ) -> ::std::os::raw::c_int,
4112    >,
4113    pub HandlesPointerDown: ::std::option::Option<
4114        unsafe extern "C" fn(
4115            elem: *mut ::std::os::raw::c_void,
4116            id: ::std::os::raw::c_int,
4117            x: ::std::os::raw::c_int,
4118            y: ::std::os::raw::c_int,
4119        ) -> ::std::os::raw::c_int,
4120    >,
4121    pub OnPointerUp: ::std::option::Option<
4122        unsafe extern "C" fn(
4123            elem: *mut ::std::os::raw::c_void,
4124            id: ::std::os::raw::c_int,
4125            x: ::std::os::raw::c_int,
4126            y: ::std::os::raw::c_int,
4127        ),
4128    >,
4129    pub HandlesPointerMove: ::std::option::Option<
4130        unsafe extern "C" fn(
4131            elem: *mut ::std::os::raw::c_void,
4132            id: ::std::os::raw::c_int,
4133            x: ::std::os::raw::c_int,
4134            y: ::std::os::raw::c_int,
4135        ) -> ::std::os::raw::c_int,
4136    >,
4137    pub HandlesMouseScroll: ::std::option::Option<
4138        unsafe extern "C" fn(
4139            elem: *mut ::std::os::raw::c_void,
4140            delta: f32,
4141        ) -> ::std::os::raw::c_int,
4142    >,
4143    pub Layout: ::std::option::Option<unsafe extern "C" fn(elem: *mut ::std::os::raw::c_void)>,
4144    pub ContextLost: ::std::option::Option<unsafe extern "C" fn(elem: *mut ::std::os::raw::c_void)>,
4145    pub ContextRecreated:
4146        ::std::option::Option<unsafe extern "C" fn(elem: *mut ::std::os::raw::c_void)>,
4147    pub HandlesPadAxis: ::std::option::Option<
4148        unsafe extern "C" fn(
4149            elem: *mut ::std::os::raw::c_void,
4150            axis: ::std::os::raw::c_int,
4151            x: f32,
4152            y: f32,
4153        ) -> ::std::os::raw::c_int,
4154    >,
4155}
4156#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4157const _: () = {
4158    ["Size of ScreenVTABLE"][::std::mem::size_of::<ScreenVTABLE>() - 136usize];
4159    ["Alignment of ScreenVTABLE"][::std::mem::align_of::<ScreenVTABLE>() - 8usize];
4160    ["Offset of field: ScreenVTABLE::Init"][::std::mem::offset_of!(ScreenVTABLE, Init) - 0usize];
4161    ["Offset of field: ScreenVTABLE::Update"]
4162        [::std::mem::offset_of!(ScreenVTABLE, Update) - 8usize];
4163    ["Offset of field: ScreenVTABLE::Free"][::std::mem::offset_of!(ScreenVTABLE, Free) - 16usize];
4164    ["Offset of field: ScreenVTABLE::Render"]
4165        [::std::mem::offset_of!(ScreenVTABLE, Render) - 24usize];
4166    ["Offset of field: ScreenVTABLE::BuildMesh"]
4167        [::std::mem::offset_of!(ScreenVTABLE, BuildMesh) - 32usize];
4168    ["Offset of field: ScreenVTABLE::HandlesInputDown"]
4169        [::std::mem::offset_of!(ScreenVTABLE, HandlesInputDown) - 40usize];
4170    ["Offset of field: ScreenVTABLE::OnInputUp"]
4171        [::std::mem::offset_of!(ScreenVTABLE, OnInputUp) - 48usize];
4172    ["Offset of field: ScreenVTABLE::HandlesKeyPress"]
4173        [::std::mem::offset_of!(ScreenVTABLE, HandlesKeyPress) - 56usize];
4174    ["Offset of field: ScreenVTABLE::HandlesTextChanged"]
4175        [::std::mem::offset_of!(ScreenVTABLE, HandlesTextChanged) - 64usize];
4176    ["Offset of field: ScreenVTABLE::HandlesPointerDown"]
4177        [::std::mem::offset_of!(ScreenVTABLE, HandlesPointerDown) - 72usize];
4178    ["Offset of field: ScreenVTABLE::OnPointerUp"]
4179        [::std::mem::offset_of!(ScreenVTABLE, OnPointerUp) - 80usize];
4180    ["Offset of field: ScreenVTABLE::HandlesPointerMove"]
4181        [::std::mem::offset_of!(ScreenVTABLE, HandlesPointerMove) - 88usize];
4182    ["Offset of field: ScreenVTABLE::HandlesMouseScroll"]
4183        [::std::mem::offset_of!(ScreenVTABLE, HandlesMouseScroll) - 96usize];
4184    ["Offset of field: ScreenVTABLE::Layout"]
4185        [::std::mem::offset_of!(ScreenVTABLE, Layout) - 104usize];
4186    ["Offset of field: ScreenVTABLE::ContextLost"]
4187        [::std::mem::offset_of!(ScreenVTABLE, ContextLost) - 112usize];
4188    ["Offset of field: ScreenVTABLE::ContextRecreated"]
4189        [::std::mem::offset_of!(ScreenVTABLE, ContextRecreated) - 120usize];
4190    ["Offset of field: ScreenVTABLE::HandlesPadAxis"]
4191        [::std::mem::offset_of!(ScreenVTABLE, HandlesPadAxis) - 128usize];
4192};
4193#[repr(C)]
4194#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
4195pub struct Screen {
4196    pub VTABLE: *const ScreenVTABLE,
4197    pub grabsInput: cc_bool,
4198    pub blocksWorld: cc_bool,
4199    pub closable: cc_bool,
4200    pub dirty: cc_bool,
4201    pub maxVertices: ::std::os::raw::c_int,
4202    pub vb: GfxResourceID,
4203    pub widgets: *mut *mut Widget,
4204    pub numWidgets: ::std::os::raw::c_int,
4205    pub selectedI: ::std::os::raw::c_int,
4206    pub maxWidgets: ::std::os::raw::c_int,
4207}
4208#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4209const _: () = {
4210    ["Size of Screen"][::std::mem::size_of::<Screen>() - 48usize];
4211    ["Alignment of Screen"][::std::mem::align_of::<Screen>() - 8usize];
4212    ["Offset of field: Screen::VTABLE"][::std::mem::offset_of!(Screen, VTABLE) - 0usize];
4213    ["Offset of field: Screen::grabsInput"][::std::mem::offset_of!(Screen, grabsInput) - 8usize];
4214    ["Offset of field: Screen::blocksWorld"][::std::mem::offset_of!(Screen, blocksWorld) - 9usize];
4215    ["Offset of field: Screen::closable"][::std::mem::offset_of!(Screen, closable) - 10usize];
4216    ["Offset of field: Screen::dirty"][::std::mem::offset_of!(Screen, dirty) - 11usize];
4217    ["Offset of field: Screen::maxVertices"][::std::mem::offset_of!(Screen, maxVertices) - 12usize];
4218    ["Offset of field: Screen::vb"][::std::mem::offset_of!(Screen, vb) - 16usize];
4219    ["Offset of field: Screen::widgets"][::std::mem::offset_of!(Screen, widgets) - 24usize];
4220    ["Offset of field: Screen::numWidgets"][::std::mem::offset_of!(Screen, numWidgets) - 32usize];
4221    ["Offset of field: Screen::selectedI"][::std::mem::offset_of!(Screen, selectedI) - 36usize];
4222    ["Offset of field: Screen::maxWidgets"][::std::mem::offset_of!(Screen, maxWidgets) - 40usize];
4223};
4224pub type Widget_LeftClick = ::std::option::Option<
4225    unsafe extern "C" fn(screen: *mut ::std::os::raw::c_void, widget: *mut ::std::os::raw::c_void),
4226>;
4227#[repr(C)]
4228#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
4229pub struct WidgetVTABLE {
4230    pub Render:
4231        ::std::option::Option<unsafe extern "C" fn(elem: *mut ::std::os::raw::c_void, delta: f32)>,
4232    pub Free: ::std::option::Option<unsafe extern "C" fn(elem: *mut ::std::os::raw::c_void)>,
4233    pub Reposition: ::std::option::Option<unsafe extern "C" fn(elem: *mut ::std::os::raw::c_void)>,
4234    pub HandlesKeyDown: ::std::option::Option<
4235        unsafe extern "C" fn(
4236            elem: *mut ::std::os::raw::c_void,
4237            key: ::std::os::raw::c_int,
4238            device: *mut InputDevice,
4239        ) -> ::std::os::raw::c_int,
4240    >,
4241    pub OnInputUp: ::std::option::Option<
4242        unsafe extern "C" fn(
4243            elem: *mut ::std::os::raw::c_void,
4244            key: ::std::os::raw::c_int,
4245            device: *mut InputDevice,
4246        ),
4247    >,
4248    pub HandlesMouseScroll: ::std::option::Option<
4249        unsafe extern "C" fn(
4250            elem: *mut ::std::os::raw::c_void,
4251            delta: f32,
4252        ) -> ::std::os::raw::c_int,
4253    >,
4254    pub HandlesPointerDown: ::std::option::Option<
4255        unsafe extern "C" fn(
4256            elem: *mut ::std::os::raw::c_void,
4257            id: ::std::os::raw::c_int,
4258            x: ::std::os::raw::c_int,
4259            y: ::std::os::raw::c_int,
4260        ) -> ::std::os::raw::c_int,
4261    >,
4262    pub OnPointerUp: ::std::option::Option<
4263        unsafe extern "C" fn(
4264            elem: *mut ::std::os::raw::c_void,
4265            id: ::std::os::raw::c_int,
4266            x: ::std::os::raw::c_int,
4267            y: ::std::os::raw::c_int,
4268        ),
4269    >,
4270    pub HandlesPointerMove: ::std::option::Option<
4271        unsafe extern "C" fn(
4272            elem: *mut ::std::os::raw::c_void,
4273            id: ::std::os::raw::c_int,
4274            x: ::std::os::raw::c_int,
4275            y: ::std::os::raw::c_int,
4276        ) -> ::std::os::raw::c_int,
4277    >,
4278    pub BuildMesh: ::std::option::Option<
4279        unsafe extern "C" fn(elem: *mut ::std::os::raw::c_void, vertices: *mut *mut VertexTextured),
4280    >,
4281    pub Render2: ::std::option::Option<
4282        unsafe extern "C" fn(
4283            elem: *mut ::std::os::raw::c_void,
4284            offset: ::std::os::raw::c_int,
4285        ) -> ::std::os::raw::c_int,
4286    >,
4287    pub GetMaxVertices: ::std::option::Option<
4288        unsafe extern "C" fn(elem: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int,
4289    >,
4290    pub HandlesPadAxis: ::std::option::Option<
4291        unsafe extern "C" fn(
4292            elem: *mut ::std::os::raw::c_void,
4293            axis: ::std::os::raw::c_int,
4294            x: f32,
4295            y: f32,
4296        ) -> ::std::os::raw::c_int,
4297    >,
4298}
4299#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4300const _: () = {
4301    ["Size of WidgetVTABLE"][::std::mem::size_of::<WidgetVTABLE>() - 104usize];
4302    ["Alignment of WidgetVTABLE"][::std::mem::align_of::<WidgetVTABLE>() - 8usize];
4303    ["Offset of field: WidgetVTABLE::Render"]
4304        [::std::mem::offset_of!(WidgetVTABLE, Render) - 0usize];
4305    ["Offset of field: WidgetVTABLE::Free"][::std::mem::offset_of!(WidgetVTABLE, Free) - 8usize];
4306    ["Offset of field: WidgetVTABLE::Reposition"]
4307        [::std::mem::offset_of!(WidgetVTABLE, Reposition) - 16usize];
4308    ["Offset of field: WidgetVTABLE::HandlesKeyDown"]
4309        [::std::mem::offset_of!(WidgetVTABLE, HandlesKeyDown) - 24usize];
4310    ["Offset of field: WidgetVTABLE::OnInputUp"]
4311        [::std::mem::offset_of!(WidgetVTABLE, OnInputUp) - 32usize];
4312    ["Offset of field: WidgetVTABLE::HandlesMouseScroll"]
4313        [::std::mem::offset_of!(WidgetVTABLE, HandlesMouseScroll) - 40usize];
4314    ["Offset of field: WidgetVTABLE::HandlesPointerDown"]
4315        [::std::mem::offset_of!(WidgetVTABLE, HandlesPointerDown) - 48usize];
4316    ["Offset of field: WidgetVTABLE::OnPointerUp"]
4317        [::std::mem::offset_of!(WidgetVTABLE, OnPointerUp) - 56usize];
4318    ["Offset of field: WidgetVTABLE::HandlesPointerMove"]
4319        [::std::mem::offset_of!(WidgetVTABLE, HandlesPointerMove) - 64usize];
4320    ["Offset of field: WidgetVTABLE::BuildMesh"]
4321        [::std::mem::offset_of!(WidgetVTABLE, BuildMesh) - 72usize];
4322    ["Offset of field: WidgetVTABLE::Render2"]
4323        [::std::mem::offset_of!(WidgetVTABLE, Render2) - 80usize];
4324    ["Offset of field: WidgetVTABLE::GetMaxVertices"]
4325        [::std::mem::offset_of!(WidgetVTABLE, GetMaxVertices) - 88usize];
4326    ["Offset of field: WidgetVTABLE::HandlesPadAxis"]
4327        [::std::mem::offset_of!(WidgetVTABLE, HandlesPadAxis) - 96usize];
4328};
4329#[repr(C)]
4330#[derive(Copy, Clone)]
4331pub struct Widget {
4332    pub VTABLE: *const WidgetVTABLE,
4333    pub x: ::std::os::raw::c_int,
4334    pub y: ::std::os::raw::c_int,
4335    pub width: ::std::os::raw::c_int,
4336    pub height: ::std::os::raw::c_int,
4337    pub active: cc_bool,
4338    pub flags: cc_uint8,
4339    pub horAnchor: cc_uint8,
4340    pub verAnchor: cc_uint8,
4341    pub xOffset: ::std::os::raw::c_int,
4342    pub yOffset: ::std::os::raw::c_int,
4343    pub MenuClick: Widget_LeftClick,
4344    pub meta: cc_pointer,
4345}
4346#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4347const _: () = {
4348    ["Size of Widget"][::std::mem::size_of::<Widget>() - 56usize];
4349    ["Alignment of Widget"][::std::mem::align_of::<Widget>() - 8usize];
4350    ["Offset of field: Widget::VTABLE"][::std::mem::offset_of!(Widget, VTABLE) - 0usize];
4351    ["Offset of field: Widget::x"][::std::mem::offset_of!(Widget, x) - 8usize];
4352    ["Offset of field: Widget::y"][::std::mem::offset_of!(Widget, y) - 12usize];
4353    ["Offset of field: Widget::width"][::std::mem::offset_of!(Widget, width) - 16usize];
4354    ["Offset of field: Widget::height"][::std::mem::offset_of!(Widget, height) - 20usize];
4355    ["Offset of field: Widget::active"][::std::mem::offset_of!(Widget, active) - 24usize];
4356    ["Offset of field: Widget::flags"][::std::mem::offset_of!(Widget, flags) - 25usize];
4357    ["Offset of field: Widget::horAnchor"][::std::mem::offset_of!(Widget, horAnchor) - 26usize];
4358    ["Offset of field: Widget::verAnchor"][::std::mem::offset_of!(Widget, verAnchor) - 27usize];
4359    ["Offset of field: Widget::xOffset"][::std::mem::offset_of!(Widget, xOffset) - 28usize];
4360    ["Offset of field: Widget::yOffset"][::std::mem::offset_of!(Widget, yOffset) - 32usize];
4361    ["Offset of field: Widget::MenuClick"][::std::mem::offset_of!(Widget, MenuClick) - 40usize];
4362    ["Offset of field: Widget::meta"][::std::mem::offset_of!(Widget, meta) - 48usize];
4363};
4364pub const GuiPriority_GUI_PRIORITY_DISCONNECT: GuiPriority = 60;
4365pub const GuiPriority_GUI_PRIORITY_OLDLOADING: GuiPriority = 55;
4366pub const GuiPriority_GUI_PRIORITY_MENUINPUT: GuiPriority = 57;
4367pub const GuiPriority_GUI_PRIORITY_MENU: GuiPriority = 50;
4368pub const GuiPriority_GUI_PRIORITY_TOUCHMORE: GuiPriority = 45;
4369pub const GuiPriority_GUI_PRIORITY_URLWARNING: GuiPriority = 40;
4370pub const GuiPriority_GUI_PRIORITY_TEXPACK: GuiPriority = 35;
4371pub const GuiPriority_GUI_PRIORITY_TEXIDS: GuiPriority = 30;
4372pub const GuiPriority_GUI_PRIORITY_TOUCH: GuiPriority = 25;
4373pub const GuiPriority_GUI_PRIORITY_INVENTORY: GuiPriority = 20;
4374pub const GuiPriority_GUI_PRIORITY_TABLIST: GuiPriority = 17;
4375pub const GuiPriority_GUI_PRIORITY_CHAT: GuiPriority = 15;
4376pub const GuiPriority_GUI_PRIORITY_HUD: GuiPriority = 10;
4377pub const GuiPriority_GUI_PRIORITY_LOADING: GuiPriority = 5;
4378pub type GuiPriority = ::std::os::raw::c_int;
4379extern "C" {
4380    pub fn Gui_Remove(screen: *mut Screen);
4381}
4382extern "C" {
4383    pub fn Gui_Add(screen: *mut Screen, priority: ::std::os::raw::c_int);
4384}
4385extern "C" {
4386    pub fn Gui_GetInputGrab() -> *mut Screen;
4387}
4388extern "C" {
4389    pub fn Gui_GetScreen(priority: ::std::os::raw::c_int) -> *mut Screen;
4390}
4391#[repr(C)]
4392#[derive(Debug, PartialEq)]
4393pub struct TextAtlas {
4394    pub tex: Texture,
4395    pub offset: ::std::os::raw::c_int,
4396    pub curX: ::std::os::raw::c_int,
4397    pub uScale: f32,
4398    pub widths: [::std::os::raw::c_short; 16usize],
4399    pub offsets: [::std::os::raw::c_short; 16usize],
4400}
4401#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4402const _: () = {
4403    ["Size of TextAtlas"][::std::mem::size_of::<TextAtlas>() - 112usize];
4404    ["Alignment of TextAtlas"][::std::mem::align_of::<TextAtlas>() - 8usize];
4405    ["Offset of field: TextAtlas::tex"][::std::mem::offset_of!(TextAtlas, tex) - 0usize];
4406    ["Offset of field: TextAtlas::offset"][::std::mem::offset_of!(TextAtlas, offset) - 32usize];
4407    ["Offset of field: TextAtlas::curX"][::std::mem::offset_of!(TextAtlas, curX) - 36usize];
4408    ["Offset of field: TextAtlas::uScale"][::std::mem::offset_of!(TextAtlas, uScale) - 40usize];
4409    ["Offset of field: TextAtlas::widths"][::std::mem::offset_of!(TextAtlas, widths) - 44usize];
4410    ["Offset of field: TextAtlas::offsets"][::std::mem::offset_of!(TextAtlas, offsets) - 76usize];
4411};
4412pub const HttpRequestType_REQUEST_TYPE_GET: HttpRequestType = 0;
4413pub const HttpRequestType_REQUEST_TYPE_HEAD: HttpRequestType = 1;
4414pub const HttpRequestType_REQUEST_TYPE_POST: HttpRequestType = 2;
4415pub type HttpRequestType = ::std::os::raw::c_int;
4416pub const HttpProgress_HTTP_PROGRESS_NOT_WORKING_ON: HttpProgress = -3;
4417pub const HttpProgress_HTTP_PROGRESS_MAKING_REQUEST: HttpProgress = -2;
4418pub const HttpProgress_HTTP_PROGRESS_FETCHING_DATA: HttpProgress = -1;
4419pub type HttpProgress = ::std::os::raw::c_int;
4420#[repr(C)]
4421#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
4422pub struct HttpRequest {
4423    pub url: [::std::os::raw::c_char; 128usize],
4424    pub id: ::std::os::raw::c_int,
4425    pub progress: ::std::os::raw::c_int,
4426    pub timeDownloaded: cc_uint64,
4427    pub statusCode: ::std::os::raw::c_int,
4428    pub contentLength: cc_uint32,
4429    pub result: cc_result,
4430    pub data: *mut cc_uint8,
4431    pub size: cc_uint32,
4432    pub _capacity: cc_uint32,
4433    pub meta: *mut ::std::os::raw::c_void,
4434    pub error: *mut ::std::os::raw::c_char,
4435    pub lastModified: [::std::os::raw::c_char; 64usize],
4436    pub etag: [::std::os::raw::c_char; 64usize],
4437    pub requestType: cc_uint8,
4438    pub success: cc_bool,
4439    pub cookies: *mut StringsBuffer,
4440}
4441#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4442const _: () = {
4443    ["Size of HttpRequest"][::std::mem::size_of::<HttpRequest>() - 336usize];
4444    ["Alignment of HttpRequest"][::std::mem::align_of::<HttpRequest>() - 8usize];
4445    ["Offset of field: HttpRequest::url"][::std::mem::offset_of!(HttpRequest, url) - 0usize];
4446    ["Offset of field: HttpRequest::id"][::std::mem::offset_of!(HttpRequest, id) - 128usize];
4447    ["Offset of field: HttpRequest::progress"]
4448        [::std::mem::offset_of!(HttpRequest, progress) - 132usize];
4449    ["Offset of field: HttpRequest::timeDownloaded"]
4450        [::std::mem::offset_of!(HttpRequest, timeDownloaded) - 136usize];
4451    ["Offset of field: HttpRequest::statusCode"]
4452        [::std::mem::offset_of!(HttpRequest, statusCode) - 144usize];
4453    ["Offset of field: HttpRequest::contentLength"]
4454        [::std::mem::offset_of!(HttpRequest, contentLength) - 148usize];
4455    ["Offset of field: HttpRequest::result"]
4456        [::std::mem::offset_of!(HttpRequest, result) - 152usize];
4457    ["Offset of field: HttpRequest::data"][::std::mem::offset_of!(HttpRequest, data) - 160usize];
4458    ["Offset of field: HttpRequest::size"][::std::mem::offset_of!(HttpRequest, size) - 168usize];
4459    ["Offset of field: HttpRequest::_capacity"]
4460        [::std::mem::offset_of!(HttpRequest, _capacity) - 172usize];
4461    ["Offset of field: HttpRequest::meta"][::std::mem::offset_of!(HttpRequest, meta) - 176usize];
4462    ["Offset of field: HttpRequest::error"][::std::mem::offset_of!(HttpRequest, error) - 184usize];
4463    ["Offset of field: HttpRequest::lastModified"]
4464        [::std::mem::offset_of!(HttpRequest, lastModified) - 192usize];
4465    ["Offset of field: HttpRequest::etag"][::std::mem::offset_of!(HttpRequest, etag) - 256usize];
4466    ["Offset of field: HttpRequest::requestType"]
4467        [::std::mem::offset_of!(HttpRequest, requestType) - 320usize];
4468    ["Offset of field: HttpRequest::success"]
4469        [::std::mem::offset_of!(HttpRequest, success) - 321usize];
4470    ["Offset of field: HttpRequest::cookies"]
4471        [::std::mem::offset_of!(HttpRequest, cookies) - 328usize];
4472};
4473pub const InputButtons_INPUT_NONE: InputButtons = 0;
4474pub const InputButtons_CCKEY_F1: InputButtons = 1;
4475pub const InputButtons_CCKEY_F2: InputButtons = 2;
4476pub const InputButtons_CCKEY_F3: InputButtons = 3;
4477pub const InputButtons_CCKEY_F4: InputButtons = 4;
4478pub const InputButtons_CCKEY_F5: InputButtons = 5;
4479pub const InputButtons_CCKEY_F6: InputButtons = 6;
4480pub const InputButtons_CCKEY_F7: InputButtons = 7;
4481pub const InputButtons_CCKEY_F8: InputButtons = 8;
4482pub const InputButtons_CCKEY_F9: InputButtons = 9;
4483pub const InputButtons_CCKEY_F10: InputButtons = 10;
4484pub const InputButtons_CCKEY_F11: InputButtons = 11;
4485pub const InputButtons_CCKEY_F12: InputButtons = 12;
4486pub const InputButtons_CCKEY_F13: InputButtons = 13;
4487pub const InputButtons_CCKEY_F14: InputButtons = 14;
4488pub const InputButtons_CCKEY_F15: InputButtons = 15;
4489pub const InputButtons_CCKEY_F16: InputButtons = 16;
4490pub const InputButtons_CCKEY_F17: InputButtons = 17;
4491pub const InputButtons_CCKEY_F18: InputButtons = 18;
4492pub const InputButtons_CCKEY_F19: InputButtons = 19;
4493pub const InputButtons_CCKEY_F20: InputButtons = 20;
4494pub const InputButtons_CCKEY_F21: InputButtons = 21;
4495pub const InputButtons_CCKEY_F22: InputButtons = 22;
4496pub const InputButtons_CCKEY_F23: InputButtons = 23;
4497pub const InputButtons_CCKEY_F24: InputButtons = 24;
4498pub const InputButtons_CCKEY_TILDE: InputButtons = 25;
4499pub const InputButtons_CCKEY_MINUS: InputButtons = 26;
4500pub const InputButtons_CCKEY_EQUALS: InputButtons = 27;
4501pub const InputButtons_CCKEY_LBRACKET: InputButtons = 28;
4502pub const InputButtons_CCKEY_RBRACKET: InputButtons = 29;
4503pub const InputButtons_CCKEY_SLASH: InputButtons = 30;
4504pub const InputButtons_CCKEY_SEMICOLON: InputButtons = 31;
4505pub const InputButtons_CCKEY_QUOTE: InputButtons = 32;
4506pub const InputButtons_CCKEY_COMMA: InputButtons = 33;
4507pub const InputButtons_CCKEY_PERIOD: InputButtons = 34;
4508pub const InputButtons_CCKEY_BACKSLASH: InputButtons = 35;
4509pub const InputButtons_CCKEY_LSHIFT: InputButtons = 36;
4510pub const InputButtons_CCKEY_RSHIFT: InputButtons = 37;
4511pub const InputButtons_CCKEY_LCTRL: InputButtons = 38;
4512pub const InputButtons_CCKEY_RCTRL: InputButtons = 39;
4513pub const InputButtons_CCKEY_LALT: InputButtons = 40;
4514pub const InputButtons_CCKEY_RALT: InputButtons = 41;
4515pub const InputButtons_CCKEY_LWIN: InputButtons = 42;
4516pub const InputButtons_CCKEY_RWIN: InputButtons = 43;
4517pub const InputButtons_CCKEY_UP: InputButtons = 44;
4518pub const InputButtons_CCKEY_DOWN: InputButtons = 45;
4519pub const InputButtons_CCKEY_LEFT: InputButtons = 46;
4520pub const InputButtons_CCKEY_RIGHT: InputButtons = 47;
4521pub const InputButtons_CCKEY_0: InputButtons = 48;
4522pub const InputButtons_CCKEY_1: InputButtons = 49;
4523pub const InputButtons_CCKEY_2: InputButtons = 50;
4524pub const InputButtons_CCKEY_3: InputButtons = 51;
4525pub const InputButtons_CCKEY_4: InputButtons = 52;
4526pub const InputButtons_CCKEY_5: InputButtons = 53;
4527pub const InputButtons_CCKEY_6: InputButtons = 54;
4528pub const InputButtons_CCKEY_7: InputButtons = 55;
4529pub const InputButtons_CCKEY_8: InputButtons = 56;
4530pub const InputButtons_CCKEY_9: InputButtons = 57;
4531pub const InputButtons_CCKEY_INSERT: InputButtons = 58;
4532pub const InputButtons_CCKEY_DELETE: InputButtons = 59;
4533pub const InputButtons_CCKEY_HOME: InputButtons = 60;
4534pub const InputButtons_CCKEY_END: InputButtons = 61;
4535pub const InputButtons_CCKEY_PAGEUP: InputButtons = 62;
4536pub const InputButtons_CCKEY_PAGEDOWN: InputButtons = 63;
4537pub const InputButtons_CCKEY_MENU: InputButtons = 64;
4538pub const InputButtons_CCKEY_A: InputButtons = 65;
4539pub const InputButtons_CCKEY_B: InputButtons = 66;
4540pub const InputButtons_CCKEY_C: InputButtons = 67;
4541pub const InputButtons_CCKEY_D: InputButtons = 68;
4542pub const InputButtons_CCKEY_E: InputButtons = 69;
4543pub const InputButtons_CCKEY_F: InputButtons = 70;
4544pub const InputButtons_CCKEY_G: InputButtons = 71;
4545pub const InputButtons_CCKEY_H: InputButtons = 72;
4546pub const InputButtons_CCKEY_I: InputButtons = 73;
4547pub const InputButtons_CCKEY_J: InputButtons = 74;
4548pub const InputButtons_CCKEY_K: InputButtons = 75;
4549pub const InputButtons_CCKEY_L: InputButtons = 76;
4550pub const InputButtons_CCKEY_M: InputButtons = 77;
4551pub const InputButtons_CCKEY_N: InputButtons = 78;
4552pub const InputButtons_CCKEY_O: InputButtons = 79;
4553pub const InputButtons_CCKEY_P: InputButtons = 80;
4554pub const InputButtons_CCKEY_Q: InputButtons = 81;
4555pub const InputButtons_CCKEY_R: InputButtons = 82;
4556pub const InputButtons_CCKEY_S: InputButtons = 83;
4557pub const InputButtons_CCKEY_T: InputButtons = 84;
4558pub const InputButtons_CCKEY_U: InputButtons = 85;
4559pub const InputButtons_CCKEY_V: InputButtons = 86;
4560pub const InputButtons_CCKEY_W: InputButtons = 87;
4561pub const InputButtons_CCKEY_X: InputButtons = 88;
4562pub const InputButtons_CCKEY_Y: InputButtons = 89;
4563pub const InputButtons_CCKEY_Z: InputButtons = 90;
4564pub const InputButtons_CCKEY_ENTER: InputButtons = 91;
4565pub const InputButtons_CCKEY_ESCAPE: InputButtons = 92;
4566pub const InputButtons_CCKEY_SPACE: InputButtons = 93;
4567pub const InputButtons_CCKEY_BACKSPACE: InputButtons = 94;
4568pub const InputButtons_CCKEY_TAB: InputButtons = 95;
4569pub const InputButtons_CCKEY_CAPSLOCK: InputButtons = 96;
4570pub const InputButtons_CCKEY_SCROLLLOCK: InputButtons = 97;
4571pub const InputButtons_CCKEY_PRINTSCREEN: InputButtons = 98;
4572pub const InputButtons_CCKEY_PAUSE: InputButtons = 99;
4573pub const InputButtons_CCKEY_NUMLOCK: InputButtons = 100;
4574pub const InputButtons_CCKEY_KP0: InputButtons = 101;
4575pub const InputButtons_CCKEY_KP1: InputButtons = 102;
4576pub const InputButtons_CCKEY_KP2: InputButtons = 103;
4577pub const InputButtons_CCKEY_KP3: InputButtons = 104;
4578pub const InputButtons_CCKEY_KP4: InputButtons = 105;
4579pub const InputButtons_CCKEY_KP5: InputButtons = 106;
4580pub const InputButtons_CCKEY_KP6: InputButtons = 107;
4581pub const InputButtons_CCKEY_KP7: InputButtons = 108;
4582pub const InputButtons_CCKEY_KP8: InputButtons = 109;
4583pub const InputButtons_CCKEY_KP9: InputButtons = 110;
4584pub const InputButtons_CCKEY_KP_DIVIDE: InputButtons = 111;
4585pub const InputButtons_CCKEY_KP_MULTIPLY: InputButtons = 112;
4586pub const InputButtons_CCKEY_KP_MINUS: InputButtons = 113;
4587pub const InputButtons_CCKEY_KP_PLUS: InputButtons = 114;
4588pub const InputButtons_CCKEY_KP_DECIMAL: InputButtons = 115;
4589pub const InputButtons_CCKEY_KP_ENTER: InputButtons = 116;
4590pub const InputButtons_CCMOUSE_X1: InputButtons = 117;
4591pub const InputButtons_CCMOUSE_X2: InputButtons = 118;
4592pub const InputButtons_CCMOUSE_L: InputButtons = 119;
4593pub const InputButtons_CCMOUSE_R: InputButtons = 120;
4594pub const InputButtons_CCMOUSE_M: InputButtons = 121;
4595pub const InputButtons_CCWHEEL_UP: InputButtons = 122;
4596pub const InputButtons_CCWHEEL_DOWN: InputButtons = 123;
4597pub const InputButtons_CCWHEEL_LEFT: InputButtons = 124;
4598pub const InputButtons_CCWHEEL_RIGHT: InputButtons = 125;
4599pub const InputButtons_CCMOUSE_X3: InputButtons = 126;
4600pub const InputButtons_CCMOUSE_X4: InputButtons = 127;
4601pub const InputButtons_CCMOUSE_X5: InputButtons = 128;
4602pub const InputButtons_CCMOUSE_X6: InputButtons = 129;
4603pub const InputButtons_CCKEY_VOLUME_MUTE: InputButtons = 130;
4604pub const InputButtons_CCKEY_VOLUME_UP: InputButtons = 131;
4605pub const InputButtons_CCKEY_VOLUME_DOWN: InputButtons = 132;
4606pub const InputButtons_CCKEY_SLEEP: InputButtons = 133;
4607pub const InputButtons_CCKEY_MEDIA_NEXT: InputButtons = 134;
4608pub const InputButtons_CCKEY_MEDIA_PREV: InputButtons = 135;
4609pub const InputButtons_CCKEY_MEDIA_PLAY: InputButtons = 136;
4610pub const InputButtons_CCKEY_MEDIA_STOP: InputButtons = 137;
4611pub const InputButtons_CCKEY_BROWSER_PREV: InputButtons = 138;
4612pub const InputButtons_CCKEY_BROWSER_NEXT: InputButtons = 139;
4613pub const InputButtons_CCKEY_BROWSER_REFRESH: InputButtons = 140;
4614pub const InputButtons_CCKEY_BROWSER_STOP: InputButtons = 141;
4615pub const InputButtons_CCKEY_BROWSER_SEARCH: InputButtons = 142;
4616pub const InputButtons_CCKEY_BROWSER_FAVORITES: InputButtons = 143;
4617pub const InputButtons_CCKEY_BROWSER_HOME: InputButtons = 144;
4618pub const InputButtons_CCKEY_LAUNCH_MAIL: InputButtons = 145;
4619pub const InputButtons_CCKEY_LAUNCH_MEDIA: InputButtons = 146;
4620pub const InputButtons_CCKEY_LAUNCH_APP1: InputButtons = 147;
4621pub const InputButtons_CCKEY_LAUNCH_CALC: InputButtons = 148;
4622pub const InputButtons_CCPAD_1: InputButtons = 149;
4623pub const InputButtons_CCPAD_2: InputButtons = 150;
4624pub const InputButtons_CCPAD_3: InputButtons = 151;
4625pub const InputButtons_CCPAD_4: InputButtons = 152;
4626pub const InputButtons_CCPAD_L: InputButtons = 153;
4627pub const InputButtons_CCPAD_R: InputButtons = 154;
4628pub const InputButtons_CCPAD_5: InputButtons = 155;
4629pub const InputButtons_CCPAD_6: InputButtons = 156;
4630pub const InputButtons_CCPAD_7: InputButtons = 157;
4631pub const InputButtons_CCPAD_LEFT: InputButtons = 158;
4632pub const InputButtons_CCPAD_RIGHT: InputButtons = 159;
4633pub const InputButtons_CCPAD_UP: InputButtons = 160;
4634pub const InputButtons_CCPAD_DOWN: InputButtons = 161;
4635pub const InputButtons_CCPAD_START: InputButtons = 162;
4636pub const InputButtons_CCPAD_SELECT: InputButtons = 163;
4637pub const InputButtons_CCPAD_ZL: InputButtons = 164;
4638pub const InputButtons_CCPAD_ZR: InputButtons = 165;
4639pub const InputButtons_CCPAD_LSTICK: InputButtons = 166;
4640pub const InputButtons_CCPAD_RSTICK: InputButtons = 167;
4641pub const InputButtons_CCPAD_CLEFT: InputButtons = 168;
4642pub const InputButtons_CCPAD_CRIGHT: InputButtons = 169;
4643pub const InputButtons_CCPAD_CUP: InputButtons = 170;
4644pub const InputButtons_CCPAD_CDOWN: InputButtons = 171;
4645pub const InputButtons_INPUT_COUNT: InputButtons = 172;
4646pub const InputButtons_INPUT_CLIPBOARD_COPY: InputButtons = 1001;
4647pub const InputButtons_INPUT_CLIPBOARD_PASTE: InputButtons = 1002;
4648pub type InputButtons = ::std::os::raw::c_int;
4649#[repr(C)]
4650#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
4651pub struct _InputState {
4652    pub Pressed: [cc_bool; 172usize],
4653    pub RawMode: cc_bool,
4654    pub Sources: cc_uint8,
4655    pub DownHook: ::std::option::Option<
4656        unsafe extern "C" fn(btn: ::std::os::raw::c_int, device: *mut InputDevice),
4657    >,
4658}
4659#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4660const _: () = {
4661    ["Size of _InputState"][::std::mem::size_of::<_InputState>() - 184usize];
4662    ["Alignment of _InputState"][::std::mem::align_of::<_InputState>() - 8usize];
4663    ["Offset of field: _InputState::Pressed"]
4664        [::std::mem::offset_of!(_InputState, Pressed) - 0usize];
4665    ["Offset of field: _InputState::RawMode"]
4666        [::std::mem::offset_of!(_InputState, RawMode) - 172usize];
4667    ["Offset of field: _InputState::Sources"]
4668        [::std::mem::offset_of!(_InputState, Sources) - 173usize];
4669    ["Offset of field: _InputState::DownHook"]
4670        [::std::mem::offset_of!(_InputState, DownHook) - 176usize];
4671};
4672pub type InputDevice_IsPressed = ::std::option::Option<
4673    unsafe extern "C" fn(device: *mut InputDevice, key: ::std::os::raw::c_int) -> cc_bool,
4674>;
4675#[repr(C)]
4676#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
4677pub struct InputDevice {
4678    pub type_: ::std::os::raw::c_int,
4679    pub rawIndex: ::std::os::raw::c_int,
4680    pub mappedIndex: ::std::os::raw::c_int,
4681    pub IsPressed: InputDevice_IsPressed,
4682    pub upButton: ::std::os::raw::c_int,
4683    pub downButton: ::std::os::raw::c_int,
4684    pub leftButton: ::std::os::raw::c_int,
4685    pub rightButton: ::std::os::raw::c_int,
4686    pub enterButton1: ::std::os::raw::c_int,
4687    pub enterButton2: ::std::os::raw::c_int,
4688    pub pauseButton1: ::std::os::raw::c_int,
4689    pub pauseButton2: ::std::os::raw::c_int,
4690    pub escapeButton: ::std::os::raw::c_int,
4691    pub pageUpButton: ::std::os::raw::c_int,
4692    pub pageDownButton: ::std::os::raw::c_int,
4693    pub tabLauncher: ::std::os::raw::c_int,
4694    pub bindPrefix: *const ::std::os::raw::c_char,
4695    pub defaultBinds: *const BindMapping_,
4696    pub currentBinds: *mut BindMapping_,
4697}
4698#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4699const _: () = {
4700    ["Size of InputDevice"][::std::mem::size_of::<InputDevice>() - 96usize];
4701    ["Alignment of InputDevice"][::std::mem::align_of::<InputDevice>() - 8usize];
4702    ["Offset of field: InputDevice::type_"][::std::mem::offset_of!(InputDevice, type_) - 0usize];
4703    ["Offset of field: InputDevice::rawIndex"]
4704        [::std::mem::offset_of!(InputDevice, rawIndex) - 4usize];
4705    ["Offset of field: InputDevice::mappedIndex"]
4706        [::std::mem::offset_of!(InputDevice, mappedIndex) - 8usize];
4707    ["Offset of field: InputDevice::IsPressed"]
4708        [::std::mem::offset_of!(InputDevice, IsPressed) - 16usize];
4709    ["Offset of field: InputDevice::upButton"]
4710        [::std::mem::offset_of!(InputDevice, upButton) - 24usize];
4711    ["Offset of field: InputDevice::downButton"]
4712        [::std::mem::offset_of!(InputDevice, downButton) - 28usize];
4713    ["Offset of field: InputDevice::leftButton"]
4714        [::std::mem::offset_of!(InputDevice, leftButton) - 32usize];
4715    ["Offset of field: InputDevice::rightButton"]
4716        [::std::mem::offset_of!(InputDevice, rightButton) - 36usize];
4717    ["Offset of field: InputDevice::enterButton1"]
4718        [::std::mem::offset_of!(InputDevice, enterButton1) - 40usize];
4719    ["Offset of field: InputDevice::enterButton2"]
4720        [::std::mem::offset_of!(InputDevice, enterButton2) - 44usize];
4721    ["Offset of field: InputDevice::pauseButton1"]
4722        [::std::mem::offset_of!(InputDevice, pauseButton1) - 48usize];
4723    ["Offset of field: InputDevice::pauseButton2"]
4724        [::std::mem::offset_of!(InputDevice, pauseButton2) - 52usize];
4725    ["Offset of field: InputDevice::escapeButton"]
4726        [::std::mem::offset_of!(InputDevice, escapeButton) - 56usize];
4727    ["Offset of field: InputDevice::pageUpButton"]
4728        [::std::mem::offset_of!(InputDevice, pageUpButton) - 60usize];
4729    ["Offset of field: InputDevice::pageDownButton"]
4730        [::std::mem::offset_of!(InputDevice, pageDownButton) - 64usize];
4731    ["Offset of field: InputDevice::tabLauncher"]
4732        [::std::mem::offset_of!(InputDevice, tabLauncher) - 68usize];
4733    ["Offset of field: InputDevice::bindPrefix"]
4734        [::std::mem::offset_of!(InputDevice, bindPrefix) - 72usize];
4735    ["Offset of field: InputDevice::defaultBinds"]
4736        [::std::mem::offset_of!(InputDevice, defaultBinds) - 80usize];
4737    ["Offset of field: InputDevice::currentBinds"]
4738        [::std::mem::offset_of!(InputDevice, currentBinds) - 88usize];
4739};
4740#[repr(C)]
4741#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
4742pub struct Pointer {
4743    pub x: ::std::os::raw::c_int,
4744    pub y: ::std::os::raw::c_int,
4745    pub DownHook: ::std::option::Option<unsafe extern "C" fn(index: ::std::os::raw::c_int)>,
4746    pub UpHook: ::std::option::Option<unsafe extern "C" fn(index: ::std::os::raw::c_int)>,
4747}
4748#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4749const _: () = {
4750    ["Size of Pointer"][::std::mem::size_of::<Pointer>() - 24usize];
4751    ["Alignment of Pointer"][::std::mem::align_of::<Pointer>() - 8usize];
4752    ["Offset of field: Pointer::x"][::std::mem::offset_of!(Pointer, x) - 0usize];
4753    ["Offset of field: Pointer::y"][::std::mem::offset_of!(Pointer, y) - 4usize];
4754    ["Offset of field: Pointer::DownHook"][::std::mem::offset_of!(Pointer, DownHook) - 8usize];
4755    ["Offset of field: Pointer::UpHook"][::std::mem::offset_of!(Pointer, UpHook) - 16usize];
4756};
4757#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
4758    pub static mut Pointers: [Pointer; 1usize];
4759}
4760pub const PAD_AXIS_PAD_AXIS_LEFT: PAD_AXIS = 0;
4761pub const PAD_AXIS_PAD_AXIS_RIGHT: PAD_AXIS = 1;
4762pub type PAD_AXIS = ::std::os::raw::c_int;
4763pub const AXIS_SENSITIVITY_AXIS_SENSI_LOWER: AXIS_SENSITIVITY = 0;
4764pub const AXIS_SENSITIVITY_AXIS_SENSI_LOW: AXIS_SENSITIVITY = 1;
4765pub const AXIS_SENSITIVITY_AXIS_SENSI_NORMAL: AXIS_SENSITIVITY = 2;
4766pub const AXIS_SENSITIVITY_AXIS_SENSI_HIGH: AXIS_SENSITIVITY = 3;
4767pub const AXIS_SENSITIVITY_AXIS_SENSI_HIGHER: AXIS_SENSITIVITY = 4;
4768pub type AXIS_SENSITIVITY = ::std::os::raw::c_int;
4769pub const AXIS_BEHAVIOUR_AXIS_BEHAVIOUR_MOVEMENT: AXIS_BEHAVIOUR = 0;
4770pub const AXIS_BEHAVIOUR_AXIS_BEHAVIOUR_CAMERA: AXIS_BEHAVIOUR = 1;
4771pub type AXIS_BEHAVIOUR = ::std::os::raw::c_int;
4772#[repr(C)]
4773#[derive(Debug, Copy, Clone, PartialEq)]
4774pub struct GamepadDevice {
4775    pub base: InputDevice,
4776    pub deviceID: ::std::os::raw::c_long,
4777    pub axisX: [f32; 2usize],
4778    pub axisY: [f32; 2usize],
4779    pub pressed: [cc_bool; 23usize],
4780    pub holdtime: [f32; 23usize],
4781}
4782#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4783const _: () = {
4784    ["Size of GamepadDevice"][::std::mem::size_of::<GamepadDevice>() - 232usize];
4785    ["Alignment of GamepadDevice"][::std::mem::align_of::<GamepadDevice>() - 8usize];
4786    ["Offset of field: GamepadDevice::base"][::std::mem::offset_of!(GamepadDevice, base) - 0usize];
4787    ["Offset of field: GamepadDevice::deviceID"]
4788        [::std::mem::offset_of!(GamepadDevice, deviceID) - 96usize];
4789    ["Offset of field: GamepadDevice::axisX"]
4790        [::std::mem::offset_of!(GamepadDevice, axisX) - 100usize];
4791    ["Offset of field: GamepadDevice::axisY"]
4792        [::std::mem::offset_of!(GamepadDevice, axisY) - 108usize];
4793    ["Offset of field: GamepadDevice::pressed"]
4794        [::std::mem::offset_of!(GamepadDevice, pressed) - 116usize];
4795    ["Offset of field: GamepadDevice::holdtime"]
4796        [::std::mem::offset_of!(GamepadDevice, holdtime) - 140usize];
4797};
4798pub const InputBind__BIND_FORWARD: InputBind_ = 0;
4799pub const InputBind__BIND_BACK: InputBind_ = 1;
4800pub const InputBind__BIND_LEFT: InputBind_ = 2;
4801pub const InputBind__BIND_RIGHT: InputBind_ = 3;
4802pub const InputBind__BIND_JUMP: InputBind_ = 4;
4803pub const InputBind__BIND_RESPAWN: InputBind_ = 5;
4804pub const InputBind__BIND_SET_SPAWN: InputBind_ = 6;
4805pub const InputBind__BIND_CHAT: InputBind_ = 7;
4806pub const InputBind__BIND_INVENTORY: InputBind_ = 8;
4807pub const InputBind__BIND_FOG: InputBind_ = 9;
4808pub const InputBind__BIND_SEND_CHAT: InputBind_ = 10;
4809pub const InputBind__BIND_TABLIST: InputBind_ = 11;
4810pub const InputBind__BIND_SPEED: InputBind_ = 12;
4811pub const InputBind__BIND_NOCLIP: InputBind_ = 13;
4812pub const InputBind__BIND_FLY: InputBind_ = 14;
4813pub const InputBind__BIND_FLY_UP: InputBind_ = 15;
4814pub const InputBind__BIND_FLY_DOWN: InputBind_ = 16;
4815pub const InputBind__BIND_EXT_INPUT: InputBind_ = 17;
4816pub const InputBind__BIND_HIDE_FPS: InputBind_ = 18;
4817pub const InputBind__BIND_SCREENSHOT: InputBind_ = 19;
4818pub const InputBind__BIND_FULLSCREEN: InputBind_ = 20;
4819pub const InputBind__BIND_THIRD_PERSON: InputBind_ = 21;
4820pub const InputBind__BIND_HIDE_GUI: InputBind_ = 22;
4821pub const InputBind__BIND_AXIS_LINES: InputBind_ = 23;
4822pub const InputBind__BIND_ZOOM_SCROLL: InputBind_ = 24;
4823pub const InputBind__BIND_HALF_SPEED: InputBind_ = 25;
4824pub const InputBind__BIND_DELETE_BLOCK: InputBind_ = 26;
4825pub const InputBind__BIND_PICK_BLOCK: InputBind_ = 27;
4826pub const InputBind__BIND_PLACE_BLOCK: InputBind_ = 28;
4827pub const InputBind__BIND_AUTOROTATE: InputBind_ = 29;
4828pub const InputBind__BIND_HOTBAR_SWITCH: InputBind_ = 30;
4829pub const InputBind__BIND_SMOOTH_CAMERA: InputBind_ = 31;
4830pub const InputBind__BIND_DROP_BLOCK: InputBind_ = 32;
4831pub const InputBind__BIND_IDOVERLAY: InputBind_ = 33;
4832pub const InputBind__BIND_BREAK_LIQUIDS: InputBind_ = 34;
4833pub const InputBind__BIND_LOOK_UP: InputBind_ = 35;
4834pub const InputBind__BIND_LOOK_DOWN: InputBind_ = 36;
4835pub const InputBind__BIND_LOOK_RIGHT: InputBind_ = 37;
4836pub const InputBind__BIND_LOOK_LEFT: InputBind_ = 38;
4837pub const InputBind__BIND_HOTBAR_1: InputBind_ = 39;
4838pub const InputBind__BIND_HOTBAR_2: InputBind_ = 40;
4839pub const InputBind__BIND_HOTBAR_3: InputBind_ = 41;
4840pub const InputBind__BIND_HOTBAR_4: InputBind_ = 42;
4841pub const InputBind__BIND_HOTBAR_5: InputBind_ = 43;
4842pub const InputBind__BIND_HOTBAR_6: InputBind_ = 44;
4843pub const InputBind__BIND_HOTBAR_7: InputBind_ = 45;
4844pub const InputBind__BIND_HOTBAR_8: InputBind_ = 46;
4845pub const InputBind__BIND_HOTBAR_9: InputBind_ = 47;
4846pub const InputBind__BIND_HOTBAR_LEFT: InputBind_ = 48;
4847pub const InputBind__BIND_HOTBAR_RIGHT: InputBind_ = 49;
4848pub const InputBind__BIND_COUNT: InputBind_ = 50;
4849pub type InputBind_ = ::std::os::raw::c_int;
4850pub type InputBind = ::std::os::raw::c_int;
4851#[repr(C)]
4852#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
4853pub struct BindMapping_ {
4854    pub button1: cc_uint8,
4855    pub button2: cc_uint8,
4856}
4857#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4858const _: () = {
4859    ["Size of BindMapping_"][::std::mem::size_of::<BindMapping_>() - 2usize];
4860    ["Alignment of BindMapping_"][::std::mem::align_of::<BindMapping_>() - 1usize];
4861    ["Offset of field: BindMapping_::button1"]
4862        [::std::mem::offset_of!(BindMapping_, button1) - 0usize];
4863    ["Offset of field: BindMapping_::button2"]
4864        [::std::mem::offset_of!(BindMapping_, button2) - 1usize];
4865};
4866pub type BindMapping = BindMapping_;
4867#[repr(C)]
4868#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
4869pub struct HotkeyData {
4870    pub textIndex: ::std::os::raw::c_int,
4871    pub trigger: cc_uint8,
4872    pub mods: cc_uint8,
4873    pub flags: cc_uint8,
4874}
4875#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4876const _: () = {
4877    ["Size of HotkeyData"][::std::mem::size_of::<HotkeyData>() - 8usize];
4878    ["Alignment of HotkeyData"][::std::mem::align_of::<HotkeyData>() - 4usize];
4879    ["Offset of field: HotkeyData::textIndex"]
4880        [::std::mem::offset_of!(HotkeyData, textIndex) - 0usize];
4881    ["Offset of field: HotkeyData::trigger"][::std::mem::offset_of!(HotkeyData, trigger) - 4usize];
4882    ["Offset of field: HotkeyData::mods"][::std::mem::offset_of!(HotkeyData, mods) - 5usize];
4883    ["Offset of field: HotkeyData::flags"][::std::mem::offset_of!(HotkeyData, flags) - 6usize];
4884};
4885pub const HotkeyModifiers_HOTKEY_MOD_CTRL: HotkeyModifiers = 1;
4886pub const HotkeyModifiers_HOTKEY_MOD_SHIFT: HotkeyModifiers = 2;
4887pub const HotkeyModifiers_HOTKEY_MOD_ALT: HotkeyModifiers = 4;
4888pub type HotkeyModifiers = ::std::os::raw::c_int;
4889pub type BindTriggered = ::std::option::Option<
4890    unsafe extern "C" fn(key: ::std::os::raw::c_int, device: *mut InputDevice) -> cc_bool,
4891>;
4892pub type BindReleased = ::std::option::Option<
4893    unsafe extern "C" fn(key: ::std::os::raw::c_int, device: *mut InputDevice),
4894>;
4895extern "C" {
4896    pub fn KeyBind_IsPressed(binding: InputBind) -> cc_bool;
4897}
4898#[repr(C)]
4899#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
4900pub struct _InventoryData {
4901    pub Table: [BlockID; 81usize],
4902    pub Map: [BlockID; 768usize],
4903    pub SelectedIndex: ::std::os::raw::c_int,
4904    pub Offset: ::std::os::raw::c_int,
4905    pub CanChangeSelected: cc_bool,
4906    pub BlocksPerRow: cc_uint8,
4907}
4908#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4909const _: () = {
4910    ["Size of _InventoryData"][::std::mem::size_of::<_InventoryData>() - 1712usize];
4911    ["Alignment of _InventoryData"][::std::mem::align_of::<_InventoryData>() - 4usize];
4912    ["Offset of field: _InventoryData::Table"]
4913        [::std::mem::offset_of!(_InventoryData, Table) - 0usize];
4914    ["Offset of field: _InventoryData::Map"]
4915        [::std::mem::offset_of!(_InventoryData, Map) - 162usize];
4916    ["Offset of field: _InventoryData::SelectedIndex"]
4917        [::std::mem::offset_of!(_InventoryData, SelectedIndex) - 1700usize];
4918    ["Offset of field: _InventoryData::Offset"]
4919        [::std::mem::offset_of!(_InventoryData, Offset) - 1704usize];
4920    ["Offset of field: _InventoryData::CanChangeSelected"]
4921        [::std::mem::offset_of!(_InventoryData, CanChangeSelected) - 1708usize];
4922    ["Offset of field: _InventoryData::BlocksPerRow"]
4923        [::std::mem::offset_of!(_InventoryData, BlocksPerRow) - 1709usize];
4924};
4925#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
4926    pub static mut Inventory: _InventoryData;
4927}
4928pub type LBackend_DrawHook = ::std::option::Option<unsafe extern "C" fn(ctx: *mut Context2D)>;
4929pub type LScreen_Func = ::std::option::Option<unsafe extern "C" fn(s: *mut LScreen)>;
4930#[repr(C)]
4931#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
4932pub struct LScreen {
4933    pub Activated: LScreen_Func,
4934    pub LoadState: LScreen_Func,
4935    pub Deactivated: LScreen_Func,
4936    pub Layout: LScreen_Func,
4937    pub Tick: LScreen_Func,
4938    pub DrawBackground:
4939        ::std::option::Option<unsafe extern "C" fn(s: *mut LScreen, ctx: *mut Context2D)>,
4940    pub KeyDown: ::std::option::Option<
4941        unsafe extern "C" fn(
4942            s: *mut LScreen,
4943            key: ::std::os::raw::c_int,
4944            wasDown: cc_bool,
4945            device: *mut InputDevice,
4946        ),
4947    >,
4948    pub MouseUp:
4949        ::std::option::Option<unsafe extern "C" fn(s: *mut LScreen, idx: ::std::os::raw::c_int)>,
4950    pub MouseWheel: ::std::option::Option<unsafe extern "C" fn(s: *mut LScreen, delta: f32)>,
4951    pub ResetArea: ::std::option::Option<
4952        unsafe extern "C" fn(
4953            ctx: *mut Context2D,
4954            x: ::std::os::raw::c_int,
4955            y: ::std::os::raw::c_int,
4956            width: ::std::os::raw::c_int,
4957            height: ::std::os::raw::c_int,
4958        ),
4959    >,
4960    pub onEnterWidget: *mut LWidget,
4961    pub onEscapeWidget: *mut LWidget,
4962    pub hoveredWidget: *mut LWidget,
4963    pub selectedWidget: *mut LWidget,
4964    pub numWidgets: ::std::os::raw::c_int,
4965    pub maxWidgets: ::std::os::raw::c_short,
4966    pub everShown: cc_bool,
4967    pub widgets: *mut *mut LWidget,
4968    pub title: *const ::std::os::raw::c_char,
4969}
4970#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4971const _: () = {
4972    ["Size of LScreen"][::std::mem::size_of::<LScreen>() - 136usize];
4973    ["Alignment of LScreen"][::std::mem::align_of::<LScreen>() - 8usize];
4974    ["Offset of field: LScreen::Activated"][::std::mem::offset_of!(LScreen, Activated) - 0usize];
4975    ["Offset of field: LScreen::LoadState"][::std::mem::offset_of!(LScreen, LoadState) - 8usize];
4976    ["Offset of field: LScreen::Deactivated"]
4977        [::std::mem::offset_of!(LScreen, Deactivated) - 16usize];
4978    ["Offset of field: LScreen::Layout"][::std::mem::offset_of!(LScreen, Layout) - 24usize];
4979    ["Offset of field: LScreen::Tick"][::std::mem::offset_of!(LScreen, Tick) - 32usize];
4980    ["Offset of field: LScreen::DrawBackground"]
4981        [::std::mem::offset_of!(LScreen, DrawBackground) - 40usize];
4982    ["Offset of field: LScreen::KeyDown"][::std::mem::offset_of!(LScreen, KeyDown) - 48usize];
4983    ["Offset of field: LScreen::MouseUp"][::std::mem::offset_of!(LScreen, MouseUp) - 56usize];
4984    ["Offset of field: LScreen::MouseWheel"][::std::mem::offset_of!(LScreen, MouseWheel) - 64usize];
4985    ["Offset of field: LScreen::ResetArea"][::std::mem::offset_of!(LScreen, ResetArea) - 72usize];
4986    ["Offset of field: LScreen::onEnterWidget"]
4987        [::std::mem::offset_of!(LScreen, onEnterWidget) - 80usize];
4988    ["Offset of field: LScreen::onEscapeWidget"]
4989        [::std::mem::offset_of!(LScreen, onEscapeWidget) - 88usize];
4990    ["Offset of field: LScreen::hoveredWidget"]
4991        [::std::mem::offset_of!(LScreen, hoveredWidget) - 96usize];
4992    ["Offset of field: LScreen::selectedWidget"]
4993        [::std::mem::offset_of!(LScreen, selectedWidget) - 104usize];
4994    ["Offset of field: LScreen::numWidgets"]
4995        [::std::mem::offset_of!(LScreen, numWidgets) - 112usize];
4996    ["Offset of field: LScreen::maxWidgets"]
4997        [::std::mem::offset_of!(LScreen, maxWidgets) - 116usize];
4998    ["Offset of field: LScreen::everShown"][::std::mem::offset_of!(LScreen, everShown) - 118usize];
4999    ["Offset of field: LScreen::widgets"][::std::mem::offset_of!(LScreen, widgets) - 120usize];
5000    ["Offset of field: LScreen::title"][::std::mem::offset_of!(LScreen, title) - 128usize];
5001};
5002pub type JsonOnValue =
5003    ::std::option::Option<unsafe extern "C" fn(ctx: *mut JsonContext, v: *const cc_string)>;
5004pub type JsonOnNew = ::std::option::Option<unsafe extern "C" fn(ctx: *mut JsonContext)>;
5005#[repr(C)]
5006#[derive(Debug, Hash, PartialEq, Eq)]
5007pub struct JsonContext {
5008    pub cur: *mut ::std::os::raw::c_char,
5009    pub left: ::std::os::raw::c_int,
5010    pub failed: cc_bool,
5011    pub curKey: cc_string,
5012    pub depth: ::std::os::raw::c_int,
5013    pub OnNewArray: JsonOnNew,
5014    pub OnNewObject: JsonOnNew,
5015    pub OnValue: JsonOnValue,
5016    pub _tmp: cc_string,
5017    pub _tmpBuffer: [::std::os::raw::c_char; 64usize],
5018}
5019#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5020const _: () = {
5021    ["Size of JsonContext"][::std::mem::size_of::<JsonContext>() - 144usize];
5022    ["Alignment of JsonContext"][::std::mem::align_of::<JsonContext>() - 8usize];
5023    ["Offset of field: JsonContext::cur"][::std::mem::offset_of!(JsonContext, cur) - 0usize];
5024    ["Offset of field: JsonContext::left"][::std::mem::offset_of!(JsonContext, left) - 8usize];
5025    ["Offset of field: JsonContext::failed"][::std::mem::offset_of!(JsonContext, failed) - 12usize];
5026    ["Offset of field: JsonContext::curKey"][::std::mem::offset_of!(JsonContext, curKey) - 16usize];
5027    ["Offset of field: JsonContext::depth"][::std::mem::offset_of!(JsonContext, depth) - 32usize];
5028    ["Offset of field: JsonContext::OnNewArray"]
5029        [::std::mem::offset_of!(JsonContext, OnNewArray) - 40usize];
5030    ["Offset of field: JsonContext::OnNewObject"]
5031        [::std::mem::offset_of!(JsonContext, OnNewObject) - 48usize];
5032    ["Offset of field: JsonContext::OnValue"]
5033        [::std::mem::offset_of!(JsonContext, OnValue) - 56usize];
5034    ["Offset of field: JsonContext::_tmp"][::std::mem::offset_of!(JsonContext, _tmp) - 64usize];
5035    ["Offset of field: JsonContext::_tmpBuffer"]
5036        [::std::mem::offset_of!(JsonContext, _tmpBuffer) - 80usize];
5037};
5038#[repr(C)]
5039#[derive(Debug, Hash, PartialEq, Eq)]
5040pub struct ServerInfo {
5041    pub hash: cc_string,
5042    pub name: cc_string,
5043    pub ip: cc_string,
5044    pub mppass: cc_string,
5045    pub software: cc_string,
5046    pub players: ::std::os::raw::c_int,
5047    pub maxPlayers: ::std::os::raw::c_int,
5048    pub port: ::std::os::raw::c_int,
5049    pub uptime: ::std::os::raw::c_int,
5050    pub featured: cc_bool,
5051    pub country: [::std::os::raw::c_char; 2usize],
5052    pub _order: ::std::os::raw::c_int,
5053    pub _hashBuffer: [::std::os::raw::c_char; 32usize],
5054    pub _nameBuffer: [::std::os::raw::c_char; 64usize],
5055    pub _ipBuffer: [::std::os::raw::c_char; 16usize],
5056    pub _mppassBuffer: [::std::os::raw::c_char; 64usize],
5057    pub _softBuffer: [::std::os::raw::c_char; 64usize],
5058}
5059#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5060const _: () = {
5061    ["Size of ServerInfo"][::std::mem::size_of::<ServerInfo>() - 344usize];
5062    ["Alignment of ServerInfo"][::std::mem::align_of::<ServerInfo>() - 8usize];
5063    ["Offset of field: ServerInfo::hash"][::std::mem::offset_of!(ServerInfo, hash) - 0usize];
5064    ["Offset of field: ServerInfo::name"][::std::mem::offset_of!(ServerInfo, name) - 16usize];
5065    ["Offset of field: ServerInfo::ip"][::std::mem::offset_of!(ServerInfo, ip) - 32usize];
5066    ["Offset of field: ServerInfo::mppass"][::std::mem::offset_of!(ServerInfo, mppass) - 48usize];
5067    ["Offset of field: ServerInfo::software"]
5068        [::std::mem::offset_of!(ServerInfo, software) - 64usize];
5069    ["Offset of field: ServerInfo::players"][::std::mem::offset_of!(ServerInfo, players) - 80usize];
5070    ["Offset of field: ServerInfo::maxPlayers"]
5071        [::std::mem::offset_of!(ServerInfo, maxPlayers) - 84usize];
5072    ["Offset of field: ServerInfo::port"][::std::mem::offset_of!(ServerInfo, port) - 88usize];
5073    ["Offset of field: ServerInfo::uptime"][::std::mem::offset_of!(ServerInfo, uptime) - 92usize];
5074    ["Offset of field: ServerInfo::featured"]
5075        [::std::mem::offset_of!(ServerInfo, featured) - 96usize];
5076    ["Offset of field: ServerInfo::country"][::std::mem::offset_of!(ServerInfo, country) - 97usize];
5077    ["Offset of field: ServerInfo::_order"][::std::mem::offset_of!(ServerInfo, _order) - 100usize];
5078    ["Offset of field: ServerInfo::_hashBuffer"]
5079        [::std::mem::offset_of!(ServerInfo, _hashBuffer) - 104usize];
5080    ["Offset of field: ServerInfo::_nameBuffer"]
5081        [::std::mem::offset_of!(ServerInfo, _nameBuffer) - 136usize];
5082    ["Offset of field: ServerInfo::_ipBuffer"]
5083        [::std::mem::offset_of!(ServerInfo, _ipBuffer) - 200usize];
5084    ["Offset of field: ServerInfo::_mppassBuffer"]
5085        [::std::mem::offset_of!(ServerInfo, _mppassBuffer) - 216usize];
5086    ["Offset of field: ServerInfo::_softBuffer"]
5087        [::std::mem::offset_of!(ServerInfo, _softBuffer) - 280usize];
5088};
5089#[repr(C)]
5090#[derive(Debug, Hash, PartialEq, Eq)]
5091pub struct Flag {
5092    pub bmp: Bitmap,
5093    pub country: [::std::os::raw::c_char; 2usize],
5094    pub meta: *mut ::std::os::raw::c_void,
5095}
5096#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5097const _: () = {
5098    ["Size of Flag"][::std::mem::size_of::<Flag>() - 32usize];
5099    ["Alignment of Flag"][::std::mem::align_of::<Flag>() - 8usize];
5100    ["Offset of field: Flag::bmp"][::std::mem::offset_of!(Flag, bmp) - 0usize];
5101    ["Offset of field: Flag::country"][::std::mem::offset_of!(Flag, country) - 16usize];
5102    ["Offset of field: Flag::meta"][::std::mem::offset_of!(Flag, meta) - 24usize];
5103};
5104#[repr(C)]
5105#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5106pub struct LWebTask {
5107    pub completed: cc_bool,
5108    pub working: cc_bool,
5109    pub success: cc_bool,
5110    pub reqID: ::std::os::raw::c_int,
5111    pub Handle: ::std::option::Option<unsafe extern "C" fn(data: *mut cc_uint8, len: cc_uint32)>,
5112}
5113#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5114const _: () = {
5115    ["Size of LWebTask"][::std::mem::size_of::<LWebTask>() - 16usize];
5116    ["Alignment of LWebTask"][::std::mem::align_of::<LWebTask>() - 8usize];
5117    ["Offset of field: LWebTask::completed"][::std::mem::offset_of!(LWebTask, completed) - 0usize];
5118    ["Offset of field: LWebTask::working"][::std::mem::offset_of!(LWebTask, working) - 1usize];
5119    ["Offset of field: LWebTask::success"][::std::mem::offset_of!(LWebTask, success) - 2usize];
5120    ["Offset of field: LWebTask::reqID"][::std::mem::offset_of!(LWebTask, reqID) - 4usize];
5121    ["Offset of field: LWebTask::Handle"][::std::mem::offset_of!(LWebTask, Handle) - 8usize];
5122};
5123pub type LWebTask_ErrorCallback =
5124    ::std::option::Option<unsafe extern "C" fn(req: *mut HttpRequest)>;
5125#[repr(C)]
5126#[derive(Debug, Hash, PartialEq, Eq)]
5127pub struct GetTokenTaskData {
5128    pub Base: LWebTask,
5129    pub token: cc_string,
5130    pub username: cc_string,
5131    pub error: cc_bool,
5132}
5133#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5134const _: () = {
5135    ["Size of GetTokenTaskData"][::std::mem::size_of::<GetTokenTaskData>() - 56usize];
5136    ["Alignment of GetTokenTaskData"][::std::mem::align_of::<GetTokenTaskData>() - 8usize];
5137    ["Offset of field: GetTokenTaskData::Base"]
5138        [::std::mem::offset_of!(GetTokenTaskData, Base) - 0usize];
5139    ["Offset of field: GetTokenTaskData::token"]
5140        [::std::mem::offset_of!(GetTokenTaskData, token) - 16usize];
5141    ["Offset of field: GetTokenTaskData::username"]
5142        [::std::mem::offset_of!(GetTokenTaskData, username) - 32usize];
5143    ["Offset of field: GetTokenTaskData::error"]
5144        [::std::mem::offset_of!(GetTokenTaskData, error) - 48usize];
5145};
5146#[repr(C)]
5147#[derive(Debug, Hash, PartialEq, Eq)]
5148pub struct SignInTaskData {
5149    pub Base: LWebTask,
5150    pub username: cc_string,
5151    pub error: *const ::std::os::raw::c_char,
5152    pub needMFA: cc_bool,
5153}
5154#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5155const _: () = {
5156    ["Size of SignInTaskData"][::std::mem::size_of::<SignInTaskData>() - 48usize];
5157    ["Alignment of SignInTaskData"][::std::mem::align_of::<SignInTaskData>() - 8usize];
5158    ["Offset of field: SignInTaskData::Base"]
5159        [::std::mem::offset_of!(SignInTaskData, Base) - 0usize];
5160    ["Offset of field: SignInTaskData::username"]
5161        [::std::mem::offset_of!(SignInTaskData, username) - 16usize];
5162    ["Offset of field: SignInTaskData::error"]
5163        [::std::mem::offset_of!(SignInTaskData, error) - 32usize];
5164    ["Offset of field: SignInTaskData::needMFA"]
5165        [::std::mem::offset_of!(SignInTaskData, needMFA) - 40usize];
5166};
5167#[repr(C)]
5168#[derive(Debug, Hash, PartialEq, Eq)]
5169pub struct FetchServerData {
5170    pub Base: LWebTask,
5171    pub server: ServerInfo,
5172}
5173#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5174const _: () = {
5175    ["Size of FetchServerData"][::std::mem::size_of::<FetchServerData>() - 360usize];
5176    ["Alignment of FetchServerData"][::std::mem::align_of::<FetchServerData>() - 8usize];
5177    ["Offset of field: FetchServerData::Base"]
5178        [::std::mem::offset_of!(FetchServerData, Base) - 0usize];
5179    ["Offset of field: FetchServerData::server"]
5180        [::std::mem::offset_of!(FetchServerData, server) - 16usize];
5181};
5182#[repr(C)]
5183#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5184pub struct FetchServersData {
5185    pub Base: LWebTask,
5186    pub servers: *mut ServerInfo,
5187    pub orders: *mut cc_uint16,
5188    pub numServers: ::std::os::raw::c_int,
5189}
5190#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5191const _: () = {
5192    ["Size of FetchServersData"][::std::mem::size_of::<FetchServersData>() - 40usize];
5193    ["Alignment of FetchServersData"][::std::mem::align_of::<FetchServersData>() - 8usize];
5194    ["Offset of field: FetchServersData::Base"]
5195        [::std::mem::offset_of!(FetchServersData, Base) - 0usize];
5196    ["Offset of field: FetchServersData::servers"]
5197        [::std::mem::offset_of!(FetchServersData, servers) - 16usize];
5198    ["Offset of field: FetchServersData::orders"]
5199        [::std::mem::offset_of!(FetchServersData, orders) - 24usize];
5200    ["Offset of field: FetchServersData::numServers"]
5201        [::std::mem::offset_of!(FetchServersData, numServers) - 32usize];
5202};
5203#[repr(C)]
5204#[derive(Debug, Hash, PartialEq, Eq)]
5205pub struct CheckUpdateData {
5206    pub Base: LWebTask,
5207    pub devTimestamp: cc_uint64,
5208    pub relTimestamp: cc_uint64,
5209    pub latestRelease: cc_string,
5210}
5211#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5212const _: () = {
5213    ["Size of CheckUpdateData"][::std::mem::size_of::<CheckUpdateData>() - 48usize];
5214    ["Alignment of CheckUpdateData"][::std::mem::align_of::<CheckUpdateData>() - 8usize];
5215    ["Offset of field: CheckUpdateData::Base"]
5216        [::std::mem::offset_of!(CheckUpdateData, Base) - 0usize];
5217    ["Offset of field: CheckUpdateData::devTimestamp"]
5218        [::std::mem::offset_of!(CheckUpdateData, devTimestamp) - 16usize];
5219    ["Offset of field: CheckUpdateData::relTimestamp"]
5220        [::std::mem::offset_of!(CheckUpdateData, relTimestamp) - 24usize];
5221    ["Offset of field: CheckUpdateData::latestRelease"]
5222        [::std::mem::offset_of!(CheckUpdateData, latestRelease) - 32usize];
5223};
5224#[repr(C)]
5225#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5226pub struct FetchUpdateData {
5227    pub Base: LWebTask,
5228    pub timestamp: cc_uint64,
5229}
5230#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5231const _: () = {
5232    ["Size of FetchUpdateData"][::std::mem::size_of::<FetchUpdateData>() - 24usize];
5233    ["Alignment of FetchUpdateData"][::std::mem::align_of::<FetchUpdateData>() - 8usize];
5234    ["Offset of field: FetchUpdateData::Base"]
5235        [::std::mem::offset_of!(FetchUpdateData, Base) - 0usize];
5236    ["Offset of field: FetchUpdateData::timestamp"]
5237        [::std::mem::offset_of!(FetchUpdateData, timestamp) - 16usize];
5238};
5239#[repr(C)]
5240#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5241pub struct FetchFlagsData {
5242    pub Base: LWebTask,
5243    pub count: ::std::os::raw::c_int,
5244}
5245#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5246const _: () = {
5247    ["Size of FetchFlagsData"][::std::mem::size_of::<FetchFlagsData>() - 24usize];
5248    ["Alignment of FetchFlagsData"][::std::mem::align_of::<FetchFlagsData>() - 8usize];
5249    ["Offset of field: FetchFlagsData::Base"]
5250        [::std::mem::offset_of!(FetchFlagsData, Base) - 0usize];
5251    ["Offset of field: FetchFlagsData::count"]
5252        [::std::mem::offset_of!(FetchFlagsData, count) - 16usize];
5253};
5254pub const LWIDGET_TYPE_LWIDGET_BUTTON: LWIDGET_TYPE = 0;
5255pub const LWIDGET_TYPE_LWIDGET_CHECKBOX: LWIDGET_TYPE = 1;
5256pub const LWIDGET_TYPE_LWIDGET_INPUT: LWIDGET_TYPE = 2;
5257pub const LWIDGET_TYPE_LWIDGET_LABEL: LWIDGET_TYPE = 3;
5258pub const LWIDGET_TYPE_LWIDGET_LINE: LWIDGET_TYPE = 4;
5259pub const LWIDGET_TYPE_LWIDGET_SLIDER: LWIDGET_TYPE = 5;
5260pub const LWIDGET_TYPE_LWIDGET_TABLE: LWIDGET_TYPE = 6;
5261pub type LWIDGET_TYPE = ::std::os::raw::c_int;
5262#[repr(C)]
5263#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5264pub struct LLayout {
5265    pub type_: ::std::os::raw::c_short,
5266    pub offset: ::std::os::raw::c_short,
5267}
5268#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5269const _: () = {
5270    ["Size of LLayout"][::std::mem::size_of::<LLayout>() - 4usize];
5271    ["Alignment of LLayout"][::std::mem::align_of::<LLayout>() - 2usize];
5272    ["Offset of field: LLayout::type_"][::std::mem::offset_of!(LLayout, type_) - 0usize];
5273    ["Offset of field: LLayout::offset"][::std::mem::offset_of!(LLayout, offset) - 2usize];
5274};
5275#[repr(C)]
5276#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5277pub struct LWidgetVTABLE {
5278    pub Draw: ::std::option::Option<unsafe extern "C" fn(widget: *mut ::std::os::raw::c_void)>,
5279    pub Tick: ::std::option::Option<unsafe extern "C" fn(widget: *mut ::std::os::raw::c_void)>,
5280    pub KeyDown: ::std::option::Option<
5281        unsafe extern "C" fn(
5282            widget: *mut ::std::os::raw::c_void,
5283            key: ::std::os::raw::c_int,
5284            wasDown: cc_bool,
5285            device: *mut InputDevice,
5286        ) -> cc_bool,
5287    >,
5288    pub KeyPress: ::std::option::Option<
5289        unsafe extern "C" fn(widget: *mut ::std::os::raw::c_void, c: ::std::os::raw::c_char),
5290    >,
5291    pub MouseMove: ::std::option::Option<
5292        unsafe extern "C" fn(
5293            widget: *mut ::std::os::raw::c_void,
5294            idx: ::std::os::raw::c_int,
5295            wasOver: cc_bool,
5296        ),
5297    >,
5298    pub MouseLeft: ::std::option::Option<unsafe extern "C" fn(widget: *mut ::std::os::raw::c_void)>,
5299    pub OnSelect: ::std::option::Option<
5300        unsafe extern "C" fn(
5301            widget: *mut ::std::os::raw::c_void,
5302            idx: ::std::os::raw::c_int,
5303            wasSelected: cc_bool,
5304        ),
5305    >,
5306    pub OnUnselect: ::std::option::Option<
5307        unsafe extern "C" fn(widget: *mut ::std::os::raw::c_void, idx: ::std::os::raw::c_int),
5308    >,
5309    pub MouseWheel: ::std::option::Option<
5310        unsafe extern "C" fn(widget: *mut ::std::os::raw::c_void, delta: f32),
5311    >,
5312    pub TextChanged: ::std::option::Option<
5313        unsafe extern "C" fn(elem: *mut ::std::os::raw::c_void, str_: *const cc_string),
5314    >,
5315}
5316#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5317const _: () = {
5318    ["Size of LWidgetVTABLE"][::std::mem::size_of::<LWidgetVTABLE>() - 80usize];
5319    ["Alignment of LWidgetVTABLE"][::std::mem::align_of::<LWidgetVTABLE>() - 8usize];
5320    ["Offset of field: LWidgetVTABLE::Draw"][::std::mem::offset_of!(LWidgetVTABLE, Draw) - 0usize];
5321    ["Offset of field: LWidgetVTABLE::Tick"][::std::mem::offset_of!(LWidgetVTABLE, Tick) - 8usize];
5322    ["Offset of field: LWidgetVTABLE::KeyDown"]
5323        [::std::mem::offset_of!(LWidgetVTABLE, KeyDown) - 16usize];
5324    ["Offset of field: LWidgetVTABLE::KeyPress"]
5325        [::std::mem::offset_of!(LWidgetVTABLE, KeyPress) - 24usize];
5326    ["Offset of field: LWidgetVTABLE::MouseMove"]
5327        [::std::mem::offset_of!(LWidgetVTABLE, MouseMove) - 32usize];
5328    ["Offset of field: LWidgetVTABLE::MouseLeft"]
5329        [::std::mem::offset_of!(LWidgetVTABLE, MouseLeft) - 40usize];
5330    ["Offset of field: LWidgetVTABLE::OnSelect"]
5331        [::std::mem::offset_of!(LWidgetVTABLE, OnSelect) - 48usize];
5332    ["Offset of field: LWidgetVTABLE::OnUnselect"]
5333        [::std::mem::offset_of!(LWidgetVTABLE, OnUnselect) - 56usize];
5334    ["Offset of field: LWidgetVTABLE::MouseWheel"]
5335        [::std::mem::offset_of!(LWidgetVTABLE, MouseWheel) - 64usize];
5336    ["Offset of field: LWidgetVTABLE::TextChanged"]
5337        [::std::mem::offset_of!(LWidgetVTABLE, TextChanged) - 72usize];
5338};
5339pub type LWidgetFunc =
5340    ::std::option::Option<unsafe extern "C" fn(widget: *mut ::std::os::raw::c_void)>;
5341#[repr(C)]
5342#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5343pub struct LWidget {
5344    pub VTABLE: *const LWidgetVTABLE,
5345    pub x: ::std::os::raw::c_int,
5346    pub y: ::std::os::raw::c_int,
5347    pub width: ::std::os::raw::c_int,
5348    pub height: ::std::os::raw::c_int,
5349    pub hovered: cc_bool,
5350    pub selected: cc_bool,
5351    pub autoSelectable: cc_bool,
5352    pub dirty: cc_bool,
5353    pub opaque: cc_bool,
5354    pub type_: cc_uint8,
5355    pub skipsEnter: cc_bool,
5356    pub OnClick: LWidgetFunc,
5357    pub OnHover: LWidgetFunc,
5358    pub OnUnhover: LWidgetFunc,
5359    pub last: Rect2D,
5360    pub meta: *mut ::std::os::raw::c_void,
5361    pub layouts: *const LLayout,
5362}
5363#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5364const _: () = {
5365    ["Size of LWidget"][::std::mem::size_of::<LWidget>() - 88usize];
5366    ["Alignment of LWidget"][::std::mem::align_of::<LWidget>() - 8usize];
5367    ["Offset of field: LWidget::VTABLE"][::std::mem::offset_of!(LWidget, VTABLE) - 0usize];
5368    ["Offset of field: LWidget::x"][::std::mem::offset_of!(LWidget, x) - 8usize];
5369    ["Offset of field: LWidget::y"][::std::mem::offset_of!(LWidget, y) - 12usize];
5370    ["Offset of field: LWidget::width"][::std::mem::offset_of!(LWidget, width) - 16usize];
5371    ["Offset of field: LWidget::height"][::std::mem::offset_of!(LWidget, height) - 20usize];
5372    ["Offset of field: LWidget::hovered"][::std::mem::offset_of!(LWidget, hovered) - 24usize];
5373    ["Offset of field: LWidget::selected"][::std::mem::offset_of!(LWidget, selected) - 25usize];
5374    ["Offset of field: LWidget::autoSelectable"]
5375        [::std::mem::offset_of!(LWidget, autoSelectable) - 26usize];
5376    ["Offset of field: LWidget::dirty"][::std::mem::offset_of!(LWidget, dirty) - 27usize];
5377    ["Offset of field: LWidget::opaque"][::std::mem::offset_of!(LWidget, opaque) - 28usize];
5378    ["Offset of field: LWidget::type_"][::std::mem::offset_of!(LWidget, type_) - 29usize];
5379    ["Offset of field: LWidget::skipsEnter"][::std::mem::offset_of!(LWidget, skipsEnter) - 30usize];
5380    ["Offset of field: LWidget::OnClick"][::std::mem::offset_of!(LWidget, OnClick) - 32usize];
5381    ["Offset of field: LWidget::OnHover"][::std::mem::offset_of!(LWidget, OnHover) - 40usize];
5382    ["Offset of field: LWidget::OnUnhover"][::std::mem::offset_of!(LWidget, OnUnhover) - 48usize];
5383    ["Offset of field: LWidget::last"][::std::mem::offset_of!(LWidget, last) - 56usize];
5384    ["Offset of field: LWidget::meta"][::std::mem::offset_of!(LWidget, meta) - 72usize];
5385    ["Offset of field: LWidget::layouts"][::std::mem::offset_of!(LWidget, layouts) - 80usize];
5386};
5387#[repr(C)]
5388#[derive(Debug, Hash, PartialEq, Eq)]
5389pub struct LButton {
5390    pub VTABLE: *const LWidgetVTABLE,
5391    pub x: ::std::os::raw::c_int,
5392    pub y: ::std::os::raw::c_int,
5393    pub width: ::std::os::raw::c_int,
5394    pub height: ::std::os::raw::c_int,
5395    pub hovered: cc_bool,
5396    pub selected: cc_bool,
5397    pub autoSelectable: cc_bool,
5398    pub dirty: cc_bool,
5399    pub opaque: cc_bool,
5400    pub type_: cc_uint8,
5401    pub skipsEnter: cc_bool,
5402    pub OnClick: LWidgetFunc,
5403    pub OnHover: LWidgetFunc,
5404    pub OnUnhover: LWidgetFunc,
5405    pub last: Rect2D,
5406    pub meta: *mut ::std::os::raw::c_void,
5407    pub layouts: *const LLayout,
5408    pub text: cc_string,
5409    pub _textWidth: ::std::os::raw::c_int,
5410    pub _textHeight: ::std::os::raw::c_int,
5411}
5412#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5413const _: () = {
5414    ["Size of LButton"][::std::mem::size_of::<LButton>() - 112usize];
5415    ["Alignment of LButton"][::std::mem::align_of::<LButton>() - 8usize];
5416    ["Offset of field: LButton::VTABLE"][::std::mem::offset_of!(LButton, VTABLE) - 0usize];
5417    ["Offset of field: LButton::x"][::std::mem::offset_of!(LButton, x) - 8usize];
5418    ["Offset of field: LButton::y"][::std::mem::offset_of!(LButton, y) - 12usize];
5419    ["Offset of field: LButton::width"][::std::mem::offset_of!(LButton, width) - 16usize];
5420    ["Offset of field: LButton::height"][::std::mem::offset_of!(LButton, height) - 20usize];
5421    ["Offset of field: LButton::hovered"][::std::mem::offset_of!(LButton, hovered) - 24usize];
5422    ["Offset of field: LButton::selected"][::std::mem::offset_of!(LButton, selected) - 25usize];
5423    ["Offset of field: LButton::autoSelectable"]
5424        [::std::mem::offset_of!(LButton, autoSelectable) - 26usize];
5425    ["Offset of field: LButton::dirty"][::std::mem::offset_of!(LButton, dirty) - 27usize];
5426    ["Offset of field: LButton::opaque"][::std::mem::offset_of!(LButton, opaque) - 28usize];
5427    ["Offset of field: LButton::type_"][::std::mem::offset_of!(LButton, type_) - 29usize];
5428    ["Offset of field: LButton::skipsEnter"][::std::mem::offset_of!(LButton, skipsEnter) - 30usize];
5429    ["Offset of field: LButton::OnClick"][::std::mem::offset_of!(LButton, OnClick) - 32usize];
5430    ["Offset of field: LButton::OnHover"][::std::mem::offset_of!(LButton, OnHover) - 40usize];
5431    ["Offset of field: LButton::OnUnhover"][::std::mem::offset_of!(LButton, OnUnhover) - 48usize];
5432    ["Offset of field: LButton::last"][::std::mem::offset_of!(LButton, last) - 56usize];
5433    ["Offset of field: LButton::meta"][::std::mem::offset_of!(LButton, meta) - 72usize];
5434    ["Offset of field: LButton::layouts"][::std::mem::offset_of!(LButton, layouts) - 80usize];
5435    ["Offset of field: LButton::text"][::std::mem::offset_of!(LButton, text) - 88usize];
5436    ["Offset of field: LButton::_textWidth"]
5437        [::std::mem::offset_of!(LButton, _textWidth) - 104usize];
5438    ["Offset of field: LButton::_textHeight"]
5439        [::std::mem::offset_of!(LButton, _textHeight) - 108usize];
5440};
5441pub type LCheckboxChanged = ::std::option::Option<unsafe extern "C" fn(cb: *mut LCheckbox)>;
5442#[repr(C)]
5443#[derive(Debug, Hash, PartialEq, Eq)]
5444pub struct LCheckbox {
5445    pub VTABLE: *const LWidgetVTABLE,
5446    pub x: ::std::os::raw::c_int,
5447    pub y: ::std::os::raw::c_int,
5448    pub width: ::std::os::raw::c_int,
5449    pub height: ::std::os::raw::c_int,
5450    pub hovered: cc_bool,
5451    pub selected: cc_bool,
5452    pub autoSelectable: cc_bool,
5453    pub dirty: cc_bool,
5454    pub opaque: cc_bool,
5455    pub type_: cc_uint8,
5456    pub skipsEnter: cc_bool,
5457    pub OnClick: LWidgetFunc,
5458    pub OnHover: LWidgetFunc,
5459    pub OnUnhover: LWidgetFunc,
5460    pub last: Rect2D,
5461    pub meta: *mut ::std::os::raw::c_void,
5462    pub layouts: *const LLayout,
5463    pub value: cc_bool,
5464    pub text: cc_string,
5465    pub ValueChanged: LCheckboxChanged,
5466}
5467#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5468const _: () = {
5469    ["Size of LCheckbox"][::std::mem::size_of::<LCheckbox>() - 120usize];
5470    ["Alignment of LCheckbox"][::std::mem::align_of::<LCheckbox>() - 8usize];
5471    ["Offset of field: LCheckbox::VTABLE"][::std::mem::offset_of!(LCheckbox, VTABLE) - 0usize];
5472    ["Offset of field: LCheckbox::x"][::std::mem::offset_of!(LCheckbox, x) - 8usize];
5473    ["Offset of field: LCheckbox::y"][::std::mem::offset_of!(LCheckbox, y) - 12usize];
5474    ["Offset of field: LCheckbox::width"][::std::mem::offset_of!(LCheckbox, width) - 16usize];
5475    ["Offset of field: LCheckbox::height"][::std::mem::offset_of!(LCheckbox, height) - 20usize];
5476    ["Offset of field: LCheckbox::hovered"][::std::mem::offset_of!(LCheckbox, hovered) - 24usize];
5477    ["Offset of field: LCheckbox::selected"][::std::mem::offset_of!(LCheckbox, selected) - 25usize];
5478    ["Offset of field: LCheckbox::autoSelectable"]
5479        [::std::mem::offset_of!(LCheckbox, autoSelectable) - 26usize];
5480    ["Offset of field: LCheckbox::dirty"][::std::mem::offset_of!(LCheckbox, dirty) - 27usize];
5481    ["Offset of field: LCheckbox::opaque"][::std::mem::offset_of!(LCheckbox, opaque) - 28usize];
5482    ["Offset of field: LCheckbox::type_"][::std::mem::offset_of!(LCheckbox, type_) - 29usize];
5483    ["Offset of field: LCheckbox::skipsEnter"]
5484        [::std::mem::offset_of!(LCheckbox, skipsEnter) - 30usize];
5485    ["Offset of field: LCheckbox::OnClick"][::std::mem::offset_of!(LCheckbox, OnClick) - 32usize];
5486    ["Offset of field: LCheckbox::OnHover"][::std::mem::offset_of!(LCheckbox, OnHover) - 40usize];
5487    ["Offset of field: LCheckbox::OnUnhover"]
5488        [::std::mem::offset_of!(LCheckbox, OnUnhover) - 48usize];
5489    ["Offset of field: LCheckbox::last"][::std::mem::offset_of!(LCheckbox, last) - 56usize];
5490    ["Offset of field: LCheckbox::meta"][::std::mem::offset_of!(LCheckbox, meta) - 72usize];
5491    ["Offset of field: LCheckbox::layouts"][::std::mem::offset_of!(LCheckbox, layouts) - 80usize];
5492    ["Offset of field: LCheckbox::value"][::std::mem::offset_of!(LCheckbox, value) - 88usize];
5493    ["Offset of field: LCheckbox::text"][::std::mem::offset_of!(LCheckbox, text) - 96usize];
5494    ["Offset of field: LCheckbox::ValueChanged"]
5495        [::std::mem::offset_of!(LCheckbox, ValueChanged) - 112usize];
5496};
5497#[repr(C)]
5498#[derive(Debug, Hash, PartialEq, Eq)]
5499pub struct LInput {
5500    pub VTABLE: *const LWidgetVTABLE,
5501    pub x: ::std::os::raw::c_int,
5502    pub y: ::std::os::raw::c_int,
5503    pub width: ::std::os::raw::c_int,
5504    pub height: ::std::os::raw::c_int,
5505    pub hovered: cc_bool,
5506    pub selected: cc_bool,
5507    pub autoSelectable: cc_bool,
5508    pub dirty: cc_bool,
5509    pub opaque: cc_bool,
5510    pub type_: cc_uint8,
5511    pub skipsEnter: cc_bool,
5512    pub OnClick: LWidgetFunc,
5513    pub OnHover: LWidgetFunc,
5514    pub OnUnhover: LWidgetFunc,
5515    pub last: Rect2D,
5516    pub meta: *mut ::std::os::raw::c_void,
5517    pub layouts: *const LLayout,
5518    pub minWidth: ::std::os::raw::c_int,
5519    pub hintText: *const ::std::os::raw::c_char,
5520    pub inputType: cc_uint8,
5521    pub caretShow: cc_bool,
5522    pub ClipboardFilter: ::std::option::Option<unsafe extern "C" fn(str_: *mut cc_string)>,
5523    pub TextChanged: ::std::option::Option<unsafe extern "C" fn(w: *mut LInput)>,
5524    pub caretPos: ::std::os::raw::c_int,
5525    pub text: cc_string,
5526    pub _textHeight: ::std::os::raw::c_int,
5527    pub _textBuffer: [::std::os::raw::c_char; 128usize],
5528}
5529#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5530const _: () = {
5531    ["Size of LInput"][::std::mem::size_of::<LInput>() - 288usize];
5532    ["Alignment of LInput"][::std::mem::align_of::<LInput>() - 8usize];
5533    ["Offset of field: LInput::VTABLE"][::std::mem::offset_of!(LInput, VTABLE) - 0usize];
5534    ["Offset of field: LInput::x"][::std::mem::offset_of!(LInput, x) - 8usize];
5535    ["Offset of field: LInput::y"][::std::mem::offset_of!(LInput, y) - 12usize];
5536    ["Offset of field: LInput::width"][::std::mem::offset_of!(LInput, width) - 16usize];
5537    ["Offset of field: LInput::height"][::std::mem::offset_of!(LInput, height) - 20usize];
5538    ["Offset of field: LInput::hovered"][::std::mem::offset_of!(LInput, hovered) - 24usize];
5539    ["Offset of field: LInput::selected"][::std::mem::offset_of!(LInput, selected) - 25usize];
5540    ["Offset of field: LInput::autoSelectable"]
5541        [::std::mem::offset_of!(LInput, autoSelectable) - 26usize];
5542    ["Offset of field: LInput::dirty"][::std::mem::offset_of!(LInput, dirty) - 27usize];
5543    ["Offset of field: LInput::opaque"][::std::mem::offset_of!(LInput, opaque) - 28usize];
5544    ["Offset of field: LInput::type_"][::std::mem::offset_of!(LInput, type_) - 29usize];
5545    ["Offset of field: LInput::skipsEnter"][::std::mem::offset_of!(LInput, skipsEnter) - 30usize];
5546    ["Offset of field: LInput::OnClick"][::std::mem::offset_of!(LInput, OnClick) - 32usize];
5547    ["Offset of field: LInput::OnHover"][::std::mem::offset_of!(LInput, OnHover) - 40usize];
5548    ["Offset of field: LInput::OnUnhover"][::std::mem::offset_of!(LInput, OnUnhover) - 48usize];
5549    ["Offset of field: LInput::last"][::std::mem::offset_of!(LInput, last) - 56usize];
5550    ["Offset of field: LInput::meta"][::std::mem::offset_of!(LInput, meta) - 72usize];
5551    ["Offset of field: LInput::layouts"][::std::mem::offset_of!(LInput, layouts) - 80usize];
5552    ["Offset of field: LInput::minWidth"][::std::mem::offset_of!(LInput, minWidth) - 88usize];
5553    ["Offset of field: LInput::hintText"][::std::mem::offset_of!(LInput, hintText) - 96usize];
5554    ["Offset of field: LInput::inputType"][::std::mem::offset_of!(LInput, inputType) - 104usize];
5555    ["Offset of field: LInput::caretShow"][::std::mem::offset_of!(LInput, caretShow) - 105usize];
5556    ["Offset of field: LInput::ClipboardFilter"]
5557        [::std::mem::offset_of!(LInput, ClipboardFilter) - 112usize];
5558    ["Offset of field: LInput::TextChanged"]
5559        [::std::mem::offset_of!(LInput, TextChanged) - 120usize];
5560    ["Offset of field: LInput::caretPos"][::std::mem::offset_of!(LInput, caretPos) - 128usize];
5561    ["Offset of field: LInput::text"][::std::mem::offset_of!(LInput, text) - 136usize];
5562    ["Offset of field: LInput::_textHeight"]
5563        [::std::mem::offset_of!(LInput, _textHeight) - 152usize];
5564    ["Offset of field: LInput::_textBuffer"]
5565        [::std::mem::offset_of!(LInput, _textBuffer) - 156usize];
5566};
5567#[repr(C)]
5568#[derive(Debug, Hash, PartialEq, Eq)]
5569pub struct LLabel {
5570    pub VTABLE: *const LWidgetVTABLE,
5571    pub x: ::std::os::raw::c_int,
5572    pub y: ::std::os::raw::c_int,
5573    pub width: ::std::os::raw::c_int,
5574    pub height: ::std::os::raw::c_int,
5575    pub hovered: cc_bool,
5576    pub selected: cc_bool,
5577    pub autoSelectable: cc_bool,
5578    pub dirty: cc_bool,
5579    pub opaque: cc_bool,
5580    pub type_: cc_uint8,
5581    pub skipsEnter: cc_bool,
5582    pub OnClick: LWidgetFunc,
5583    pub OnHover: LWidgetFunc,
5584    pub OnUnhover: LWidgetFunc,
5585    pub last: Rect2D,
5586    pub meta: *mut ::std::os::raw::c_void,
5587    pub layouts: *const LLayout,
5588    pub small: cc_bool,
5589    pub text: cc_string,
5590    pub _textBuffer: [::std::os::raw::c_char; 64usize],
5591}
5592#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5593const _: () = {
5594    ["Size of LLabel"][::std::mem::size_of::<LLabel>() - 176usize];
5595    ["Alignment of LLabel"][::std::mem::align_of::<LLabel>() - 8usize];
5596    ["Offset of field: LLabel::VTABLE"][::std::mem::offset_of!(LLabel, VTABLE) - 0usize];
5597    ["Offset of field: LLabel::x"][::std::mem::offset_of!(LLabel, x) - 8usize];
5598    ["Offset of field: LLabel::y"][::std::mem::offset_of!(LLabel, y) - 12usize];
5599    ["Offset of field: LLabel::width"][::std::mem::offset_of!(LLabel, width) - 16usize];
5600    ["Offset of field: LLabel::height"][::std::mem::offset_of!(LLabel, height) - 20usize];
5601    ["Offset of field: LLabel::hovered"][::std::mem::offset_of!(LLabel, hovered) - 24usize];
5602    ["Offset of field: LLabel::selected"][::std::mem::offset_of!(LLabel, selected) - 25usize];
5603    ["Offset of field: LLabel::autoSelectable"]
5604        [::std::mem::offset_of!(LLabel, autoSelectable) - 26usize];
5605    ["Offset of field: LLabel::dirty"][::std::mem::offset_of!(LLabel, dirty) - 27usize];
5606    ["Offset of field: LLabel::opaque"][::std::mem::offset_of!(LLabel, opaque) - 28usize];
5607    ["Offset of field: LLabel::type_"][::std::mem::offset_of!(LLabel, type_) - 29usize];
5608    ["Offset of field: LLabel::skipsEnter"][::std::mem::offset_of!(LLabel, skipsEnter) - 30usize];
5609    ["Offset of field: LLabel::OnClick"][::std::mem::offset_of!(LLabel, OnClick) - 32usize];
5610    ["Offset of field: LLabel::OnHover"][::std::mem::offset_of!(LLabel, OnHover) - 40usize];
5611    ["Offset of field: LLabel::OnUnhover"][::std::mem::offset_of!(LLabel, OnUnhover) - 48usize];
5612    ["Offset of field: LLabel::last"][::std::mem::offset_of!(LLabel, last) - 56usize];
5613    ["Offset of field: LLabel::meta"][::std::mem::offset_of!(LLabel, meta) - 72usize];
5614    ["Offset of field: LLabel::layouts"][::std::mem::offset_of!(LLabel, layouts) - 80usize];
5615    ["Offset of field: LLabel::small"][::std::mem::offset_of!(LLabel, small) - 88usize];
5616    ["Offset of field: LLabel::text"][::std::mem::offset_of!(LLabel, text) - 96usize];
5617    ["Offset of field: LLabel::_textBuffer"]
5618        [::std::mem::offset_of!(LLabel, _textBuffer) - 112usize];
5619};
5620#[repr(C)]
5621#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5622pub struct LLine {
5623    pub VTABLE: *const LWidgetVTABLE,
5624    pub x: ::std::os::raw::c_int,
5625    pub y: ::std::os::raw::c_int,
5626    pub width: ::std::os::raw::c_int,
5627    pub height: ::std::os::raw::c_int,
5628    pub hovered: cc_bool,
5629    pub selected: cc_bool,
5630    pub autoSelectable: cc_bool,
5631    pub dirty: cc_bool,
5632    pub opaque: cc_bool,
5633    pub type_: cc_uint8,
5634    pub skipsEnter: cc_bool,
5635    pub OnClick: LWidgetFunc,
5636    pub OnHover: LWidgetFunc,
5637    pub OnUnhover: LWidgetFunc,
5638    pub last: Rect2D,
5639    pub meta: *mut ::std::os::raw::c_void,
5640    pub layouts: *const LLayout,
5641    pub _width: ::std::os::raw::c_int,
5642}
5643#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5644const _: () = {
5645    ["Size of LLine"][::std::mem::size_of::<LLine>() - 96usize];
5646    ["Alignment of LLine"][::std::mem::align_of::<LLine>() - 8usize];
5647    ["Offset of field: LLine::VTABLE"][::std::mem::offset_of!(LLine, VTABLE) - 0usize];
5648    ["Offset of field: LLine::x"][::std::mem::offset_of!(LLine, x) - 8usize];
5649    ["Offset of field: LLine::y"][::std::mem::offset_of!(LLine, y) - 12usize];
5650    ["Offset of field: LLine::width"][::std::mem::offset_of!(LLine, width) - 16usize];
5651    ["Offset of field: LLine::height"][::std::mem::offset_of!(LLine, height) - 20usize];
5652    ["Offset of field: LLine::hovered"][::std::mem::offset_of!(LLine, hovered) - 24usize];
5653    ["Offset of field: LLine::selected"][::std::mem::offset_of!(LLine, selected) - 25usize];
5654    ["Offset of field: LLine::autoSelectable"]
5655        [::std::mem::offset_of!(LLine, autoSelectable) - 26usize];
5656    ["Offset of field: LLine::dirty"][::std::mem::offset_of!(LLine, dirty) - 27usize];
5657    ["Offset of field: LLine::opaque"][::std::mem::offset_of!(LLine, opaque) - 28usize];
5658    ["Offset of field: LLine::type_"][::std::mem::offset_of!(LLine, type_) - 29usize];
5659    ["Offset of field: LLine::skipsEnter"][::std::mem::offset_of!(LLine, skipsEnter) - 30usize];
5660    ["Offset of field: LLine::OnClick"][::std::mem::offset_of!(LLine, OnClick) - 32usize];
5661    ["Offset of field: LLine::OnHover"][::std::mem::offset_of!(LLine, OnHover) - 40usize];
5662    ["Offset of field: LLine::OnUnhover"][::std::mem::offset_of!(LLine, OnUnhover) - 48usize];
5663    ["Offset of field: LLine::last"][::std::mem::offset_of!(LLine, last) - 56usize];
5664    ["Offset of field: LLine::meta"][::std::mem::offset_of!(LLine, meta) - 72usize];
5665    ["Offset of field: LLine::layouts"][::std::mem::offset_of!(LLine, layouts) - 80usize];
5666    ["Offset of field: LLine::_width"][::std::mem::offset_of!(LLine, _width) - 88usize];
5667};
5668#[repr(C)]
5669#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5670pub struct LSlider {
5671    pub VTABLE: *const LWidgetVTABLE,
5672    pub x: ::std::os::raw::c_int,
5673    pub y: ::std::os::raw::c_int,
5674    pub width: ::std::os::raw::c_int,
5675    pub height: ::std::os::raw::c_int,
5676    pub hovered: cc_bool,
5677    pub selected: cc_bool,
5678    pub autoSelectable: cc_bool,
5679    pub dirty: cc_bool,
5680    pub opaque: cc_bool,
5681    pub type_: cc_uint8,
5682    pub skipsEnter: cc_bool,
5683    pub OnClick: LWidgetFunc,
5684    pub OnHover: LWidgetFunc,
5685    pub OnUnhover: LWidgetFunc,
5686    pub last: Rect2D,
5687    pub meta: *mut ::std::os::raw::c_void,
5688    pub layouts: *const LLayout,
5689    pub value: ::std::os::raw::c_int,
5690    pub _width: ::std::os::raw::c_int,
5691    pub _height: ::std::os::raw::c_int,
5692    pub color: BitmapCol,
5693}
5694#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5695const _: () = {
5696    ["Size of LSlider"][::std::mem::size_of::<LSlider>() - 104usize];
5697    ["Alignment of LSlider"][::std::mem::align_of::<LSlider>() - 8usize];
5698    ["Offset of field: LSlider::VTABLE"][::std::mem::offset_of!(LSlider, VTABLE) - 0usize];
5699    ["Offset of field: LSlider::x"][::std::mem::offset_of!(LSlider, x) - 8usize];
5700    ["Offset of field: LSlider::y"][::std::mem::offset_of!(LSlider, y) - 12usize];
5701    ["Offset of field: LSlider::width"][::std::mem::offset_of!(LSlider, width) - 16usize];
5702    ["Offset of field: LSlider::height"][::std::mem::offset_of!(LSlider, height) - 20usize];
5703    ["Offset of field: LSlider::hovered"][::std::mem::offset_of!(LSlider, hovered) - 24usize];
5704    ["Offset of field: LSlider::selected"][::std::mem::offset_of!(LSlider, selected) - 25usize];
5705    ["Offset of field: LSlider::autoSelectable"]
5706        [::std::mem::offset_of!(LSlider, autoSelectable) - 26usize];
5707    ["Offset of field: LSlider::dirty"][::std::mem::offset_of!(LSlider, dirty) - 27usize];
5708    ["Offset of field: LSlider::opaque"][::std::mem::offset_of!(LSlider, opaque) - 28usize];
5709    ["Offset of field: LSlider::type_"][::std::mem::offset_of!(LSlider, type_) - 29usize];
5710    ["Offset of field: LSlider::skipsEnter"][::std::mem::offset_of!(LSlider, skipsEnter) - 30usize];
5711    ["Offset of field: LSlider::OnClick"][::std::mem::offset_of!(LSlider, OnClick) - 32usize];
5712    ["Offset of field: LSlider::OnHover"][::std::mem::offset_of!(LSlider, OnHover) - 40usize];
5713    ["Offset of field: LSlider::OnUnhover"][::std::mem::offset_of!(LSlider, OnUnhover) - 48usize];
5714    ["Offset of field: LSlider::last"][::std::mem::offset_of!(LSlider, last) - 56usize];
5715    ["Offset of field: LSlider::meta"][::std::mem::offset_of!(LSlider, meta) - 72usize];
5716    ["Offset of field: LSlider::layouts"][::std::mem::offset_of!(LSlider, layouts) - 80usize];
5717    ["Offset of field: LSlider::value"][::std::mem::offset_of!(LSlider, value) - 88usize];
5718    ["Offset of field: LSlider::_width"][::std::mem::offset_of!(LSlider, _width) - 92usize];
5719    ["Offset of field: LSlider::_height"][::std::mem::offset_of!(LSlider, _height) - 96usize];
5720    ["Offset of field: LSlider::color"][::std::mem::offset_of!(LSlider, color) - 100usize];
5721};
5722#[repr(C)]
5723#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5724pub struct LTableColumn {
5725    pub name: *const ::std::os::raw::c_char,
5726    pub width: ::std::os::raw::c_int,
5727    pub DrawRow: ::std::option::Option<
5728        unsafe extern "C" fn(
5729            row: *mut ServerInfo,
5730            args: *mut DrawTextArgs,
5731            cell: *mut LTableCell,
5732            ctx: *mut Context2D,
5733        ),
5734    >,
5735    pub SortOrder: ::std::option::Option<
5736        unsafe extern "C" fn(a: *const ServerInfo, b: *const ServerInfo) -> ::std::os::raw::c_int,
5737    >,
5738    pub hasGridline: cc_bool,
5739    pub draggable: cc_bool,
5740    pub sortable: cc_bool,
5741    pub invertSort: cc_bool,
5742}
5743#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5744const _: () = {
5745    ["Size of LTableColumn"][::std::mem::size_of::<LTableColumn>() - 40usize];
5746    ["Alignment of LTableColumn"][::std::mem::align_of::<LTableColumn>() - 8usize];
5747    ["Offset of field: LTableColumn::name"][::std::mem::offset_of!(LTableColumn, name) - 0usize];
5748    ["Offset of field: LTableColumn::width"][::std::mem::offset_of!(LTableColumn, width) - 8usize];
5749    ["Offset of field: LTableColumn::DrawRow"]
5750        [::std::mem::offset_of!(LTableColumn, DrawRow) - 16usize];
5751    ["Offset of field: LTableColumn::SortOrder"]
5752        [::std::mem::offset_of!(LTableColumn, SortOrder) - 24usize];
5753    ["Offset of field: LTableColumn::hasGridline"]
5754        [::std::mem::offset_of!(LTableColumn, hasGridline) - 32usize];
5755    ["Offset of field: LTableColumn::draggable"]
5756        [::std::mem::offset_of!(LTableColumn, draggable) - 33usize];
5757    ["Offset of field: LTableColumn::sortable"]
5758        [::std::mem::offset_of!(LTableColumn, sortable) - 34usize];
5759    ["Offset of field: LTableColumn::invertSort"]
5760        [::std::mem::offset_of!(LTableColumn, invertSort) - 35usize];
5761};
5762#[repr(C)]
5763#[derive(Debug, Copy, Clone, PartialEq)]
5764pub struct LTable {
5765    pub VTABLE: *const LWidgetVTABLE,
5766    pub x: ::std::os::raw::c_int,
5767    pub y: ::std::os::raw::c_int,
5768    pub width: ::std::os::raw::c_int,
5769    pub height: ::std::os::raw::c_int,
5770    pub hovered: cc_bool,
5771    pub selected: cc_bool,
5772    pub autoSelectable: cc_bool,
5773    pub dirty: cc_bool,
5774    pub opaque: cc_bool,
5775    pub type_: cc_uint8,
5776    pub skipsEnter: cc_bool,
5777    pub OnClick: LWidgetFunc,
5778    pub OnHover: LWidgetFunc,
5779    pub OnUnhover: LWidgetFunc,
5780    pub last: Rect2D,
5781    pub meta: *mut ::std::os::raw::c_void,
5782    pub layouts: *const LLayout,
5783    pub columns: *mut LTableColumn,
5784    pub numColumns: ::std::os::raw::c_int,
5785    pub rowsBegY: ::std::os::raw::c_int,
5786    pub rowsEndY: ::std::os::raw::c_int,
5787    pub rowHeight: ::std::os::raw::c_int,
5788    pub hdrHeight: ::std::os::raw::c_int,
5789    pub visibleRows: ::std::os::raw::c_int,
5790    pub rowsCount: ::std::os::raw::c_int,
5791    pub topRow: ::std::os::raw::c_int,
5792    pub selectedHash: *mut cc_string,
5793    pub filter: *mut cc_string,
5794    pub OnSelectedChanged: ::std::option::Option<unsafe extern "C" fn()>,
5795    pub draggingColumn: ::std::os::raw::c_int,
5796    pub dragXStart: ::std::os::raw::c_int,
5797    pub draggingScrollbar: cc_bool,
5798    pub dragYOffset: ::std::os::raw::c_int,
5799    pub _wheelAcc: f32,
5800    pub _lastRow: ::std::os::raw::c_int,
5801    pub _lastClick: cc_uint64,
5802    pub sortingCol: ::std::os::raw::c_int,
5803}
5804#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5805const _: () = {
5806    ["Size of LTable"][::std::mem::size_of::<LTable>() - 192usize];
5807    ["Alignment of LTable"][::std::mem::align_of::<LTable>() - 8usize];
5808    ["Offset of field: LTable::VTABLE"][::std::mem::offset_of!(LTable, VTABLE) - 0usize];
5809    ["Offset of field: LTable::x"][::std::mem::offset_of!(LTable, x) - 8usize];
5810    ["Offset of field: LTable::y"][::std::mem::offset_of!(LTable, y) - 12usize];
5811    ["Offset of field: LTable::width"][::std::mem::offset_of!(LTable, width) - 16usize];
5812    ["Offset of field: LTable::height"][::std::mem::offset_of!(LTable, height) - 20usize];
5813    ["Offset of field: LTable::hovered"][::std::mem::offset_of!(LTable, hovered) - 24usize];
5814    ["Offset of field: LTable::selected"][::std::mem::offset_of!(LTable, selected) - 25usize];
5815    ["Offset of field: LTable::autoSelectable"]
5816        [::std::mem::offset_of!(LTable, autoSelectable) - 26usize];
5817    ["Offset of field: LTable::dirty"][::std::mem::offset_of!(LTable, dirty) - 27usize];
5818    ["Offset of field: LTable::opaque"][::std::mem::offset_of!(LTable, opaque) - 28usize];
5819    ["Offset of field: LTable::type_"][::std::mem::offset_of!(LTable, type_) - 29usize];
5820    ["Offset of field: LTable::skipsEnter"][::std::mem::offset_of!(LTable, skipsEnter) - 30usize];
5821    ["Offset of field: LTable::OnClick"][::std::mem::offset_of!(LTable, OnClick) - 32usize];
5822    ["Offset of field: LTable::OnHover"][::std::mem::offset_of!(LTable, OnHover) - 40usize];
5823    ["Offset of field: LTable::OnUnhover"][::std::mem::offset_of!(LTable, OnUnhover) - 48usize];
5824    ["Offset of field: LTable::last"][::std::mem::offset_of!(LTable, last) - 56usize];
5825    ["Offset of field: LTable::meta"][::std::mem::offset_of!(LTable, meta) - 72usize];
5826    ["Offset of field: LTable::layouts"][::std::mem::offset_of!(LTable, layouts) - 80usize];
5827    ["Offset of field: LTable::columns"][::std::mem::offset_of!(LTable, columns) - 88usize];
5828    ["Offset of field: LTable::numColumns"][::std::mem::offset_of!(LTable, numColumns) - 96usize];
5829    ["Offset of field: LTable::rowsBegY"][::std::mem::offset_of!(LTable, rowsBegY) - 100usize];
5830    ["Offset of field: LTable::rowsEndY"][::std::mem::offset_of!(LTable, rowsEndY) - 104usize];
5831    ["Offset of field: LTable::rowHeight"][::std::mem::offset_of!(LTable, rowHeight) - 108usize];
5832    ["Offset of field: LTable::hdrHeight"][::std::mem::offset_of!(LTable, hdrHeight) - 112usize];
5833    ["Offset of field: LTable::visibleRows"]
5834        [::std::mem::offset_of!(LTable, visibleRows) - 116usize];
5835    ["Offset of field: LTable::rowsCount"][::std::mem::offset_of!(LTable, rowsCount) - 120usize];
5836    ["Offset of field: LTable::topRow"][::std::mem::offset_of!(LTable, topRow) - 124usize];
5837    ["Offset of field: LTable::selectedHash"]
5838        [::std::mem::offset_of!(LTable, selectedHash) - 128usize];
5839    ["Offset of field: LTable::filter"][::std::mem::offset_of!(LTable, filter) - 136usize];
5840    ["Offset of field: LTable::OnSelectedChanged"]
5841        [::std::mem::offset_of!(LTable, OnSelectedChanged) - 144usize];
5842    ["Offset of field: LTable::draggingColumn"]
5843        [::std::mem::offset_of!(LTable, draggingColumn) - 152usize];
5844    ["Offset of field: LTable::dragXStart"][::std::mem::offset_of!(LTable, dragXStart) - 156usize];
5845    ["Offset of field: LTable::draggingScrollbar"]
5846        [::std::mem::offset_of!(LTable, draggingScrollbar) - 160usize];
5847    ["Offset of field: LTable::dragYOffset"]
5848        [::std::mem::offset_of!(LTable, dragYOffset) - 164usize];
5849    ["Offset of field: LTable::_wheelAcc"][::std::mem::offset_of!(LTable, _wheelAcc) - 168usize];
5850    ["Offset of field: LTable::_lastRow"][::std::mem::offset_of!(LTable, _lastRow) - 172usize];
5851    ["Offset of field: LTable::_lastClick"][::std::mem::offset_of!(LTable, _lastClick) - 176usize];
5852    ["Offset of field: LTable::sortingCol"][::std::mem::offset_of!(LTable, sortingCol) - 184usize];
5853};
5854#[repr(C)]
5855#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5856pub struct LTableCell {
5857    pub table: *mut LTable,
5858    pub x: ::std::os::raw::c_int,
5859    pub y: ::std::os::raw::c_int,
5860    pub width: ::std::os::raw::c_int,
5861}
5862#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5863const _: () = {
5864    ["Size of LTableCell"][::std::mem::size_of::<LTableCell>() - 24usize];
5865    ["Alignment of LTableCell"][::std::mem::align_of::<LTableCell>() - 8usize];
5866    ["Offset of field: LTableCell::table"][::std::mem::offset_of!(LTableCell, table) - 0usize];
5867    ["Offset of field: LTableCell::x"][::std::mem::offset_of!(LTableCell, x) - 8usize];
5868    ["Offset of field: LTableCell::y"][::std::mem::offset_of!(LTableCell, y) - 12usize];
5869    ["Offset of field: LTableCell::width"][::std::mem::offset_of!(LTableCell, width) - 16usize];
5870};
5871#[repr(C)]
5872#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5873pub struct LauncherTheme {
5874    pub ClassicBackground: cc_bool,
5875    pub BackgroundColor: BitmapCol,
5876    pub ButtonBorderColor: BitmapCol,
5877    pub ButtonForeActiveColor: BitmapCol,
5878    pub ButtonForeColor: BitmapCol,
5879    pub ButtonHighlightColor: BitmapCol,
5880}
5881#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5882const _: () = {
5883    ["Size of LauncherTheme"][::std::mem::size_of::<LauncherTheme>() - 24usize];
5884    ["Alignment of LauncherTheme"][::std::mem::align_of::<LauncherTheme>() - 4usize];
5885    ["Offset of field: LauncherTheme::ClassicBackground"]
5886        [::std::mem::offset_of!(LauncherTheme, ClassicBackground) - 0usize];
5887    ["Offset of field: LauncherTheme::BackgroundColor"]
5888        [::std::mem::offset_of!(LauncherTheme, BackgroundColor) - 4usize];
5889    ["Offset of field: LauncherTheme::ButtonBorderColor"]
5890        [::std::mem::offset_of!(LauncherTheme, ButtonBorderColor) - 8usize];
5891    ["Offset of field: LauncherTheme::ButtonForeActiveColor"]
5892        [::std::mem::offset_of!(LauncherTheme, ButtonForeActiveColor) - 12usize];
5893    ["Offset of field: LauncherTheme::ButtonForeColor"]
5894        [::std::mem::offset_of!(LauncherTheme, ButtonForeColor) - 16usize];
5895    ["Offset of field: LauncherTheme::ButtonHighlightColor"]
5896        [::std::mem::offset_of!(LauncherTheme, ButtonHighlightColor) - 20usize];
5897};
5898pub const LightingMode_LIGHTING_MODE_CLASSIC: LightingMode = 0;
5899pub const LightingMode_LIGHTING_MODE_FANCY: LightingMode = 1;
5900pub const LightingMode_LIGHTING_MODE_COUNT: LightingMode = 2;
5901pub type LightingMode = ::std::os::raw::c_int;
5902#[repr(C)]
5903#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5904pub struct _Lighting {
5905    pub FreeState: ::std::option::Option<unsafe extern "C" fn()>,
5906    pub AllocState: ::std::option::Option<unsafe extern "C" fn()>,
5907    pub LightHint: ::std::option::Option<
5908        unsafe extern "C" fn(
5909            startX: ::std::os::raw::c_int,
5910            startY: ::std::os::raw::c_int,
5911            startZ: ::std::os::raw::c_int,
5912        ),
5913    >,
5914    pub OnBlockChanged: ::std::option::Option<
5915        unsafe extern "C" fn(
5916            x: ::std::os::raw::c_int,
5917            y: ::std::os::raw::c_int,
5918            z: ::std::os::raw::c_int,
5919            oldBlock: BlockID,
5920            newBlock: BlockID,
5921        ),
5922    >,
5923    pub Refresh: ::std::option::Option<unsafe extern "C" fn()>,
5924    pub IsLit: ::std::option::Option<
5925        unsafe extern "C" fn(
5926            x: ::std::os::raw::c_int,
5927            y: ::std::os::raw::c_int,
5928            z: ::std::os::raw::c_int,
5929        ) -> cc_bool,
5930    >,
5931    pub Color: ::std::option::Option<
5932        unsafe extern "C" fn(
5933            x: ::std::os::raw::c_int,
5934            y: ::std::os::raw::c_int,
5935            z: ::std::os::raw::c_int,
5936        ) -> PackedCol,
5937    >,
5938    pub Color_XSide: ::std::option::Option<
5939        unsafe extern "C" fn(
5940            x: ::std::os::raw::c_int,
5941            y: ::std::os::raw::c_int,
5942            z: ::std::os::raw::c_int,
5943        ) -> PackedCol,
5944    >,
5945    pub IsLit_Fast: ::std::option::Option<
5946        unsafe extern "C" fn(
5947            x: ::std::os::raw::c_int,
5948            y: ::std::os::raw::c_int,
5949            z: ::std::os::raw::c_int,
5950        ) -> cc_bool,
5951    >,
5952    pub Color_Sprite_Fast: ::std::option::Option<
5953        unsafe extern "C" fn(
5954            x: ::std::os::raw::c_int,
5955            y: ::std::os::raw::c_int,
5956            z: ::std::os::raw::c_int,
5957        ) -> PackedCol,
5958    >,
5959    pub Color_YMax_Fast: ::std::option::Option<
5960        unsafe extern "C" fn(
5961            x: ::std::os::raw::c_int,
5962            y: ::std::os::raw::c_int,
5963            z: ::std::os::raw::c_int,
5964        ) -> PackedCol,
5965    >,
5966    pub Color_YMin_Fast: ::std::option::Option<
5967        unsafe extern "C" fn(
5968            x: ::std::os::raw::c_int,
5969            y: ::std::os::raw::c_int,
5970            z: ::std::os::raw::c_int,
5971        ) -> PackedCol,
5972    >,
5973    pub Color_XSide_Fast: ::std::option::Option<
5974        unsafe extern "C" fn(
5975            x: ::std::os::raw::c_int,
5976            y: ::std::os::raw::c_int,
5977            z: ::std::os::raw::c_int,
5978        ) -> PackedCol,
5979    >,
5980    pub Color_ZSide_Fast: ::std::option::Option<
5981        unsafe extern "C" fn(
5982            x: ::std::os::raw::c_int,
5983            y: ::std::os::raw::c_int,
5984            z: ::std::os::raw::c_int,
5985        ) -> PackedCol,
5986    >,
5987}
5988#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5989const _: () = {
5990    ["Size of _Lighting"][::std::mem::size_of::<_Lighting>() - 112usize];
5991    ["Alignment of _Lighting"][::std::mem::align_of::<_Lighting>() - 8usize];
5992    ["Offset of field: _Lighting::FreeState"]
5993        [::std::mem::offset_of!(_Lighting, FreeState) - 0usize];
5994    ["Offset of field: _Lighting::AllocState"]
5995        [::std::mem::offset_of!(_Lighting, AllocState) - 8usize];
5996    ["Offset of field: _Lighting::LightHint"]
5997        [::std::mem::offset_of!(_Lighting, LightHint) - 16usize];
5998    ["Offset of field: _Lighting::OnBlockChanged"]
5999        [::std::mem::offset_of!(_Lighting, OnBlockChanged) - 24usize];
6000    ["Offset of field: _Lighting::Refresh"][::std::mem::offset_of!(_Lighting, Refresh) - 32usize];
6001    ["Offset of field: _Lighting::IsLit"][::std::mem::offset_of!(_Lighting, IsLit) - 40usize];
6002    ["Offset of field: _Lighting::Color"][::std::mem::offset_of!(_Lighting, Color) - 48usize];
6003    ["Offset of field: _Lighting::Color_XSide"]
6004        [::std::mem::offset_of!(_Lighting, Color_XSide) - 56usize];
6005    ["Offset of field: _Lighting::IsLit_Fast"]
6006        [::std::mem::offset_of!(_Lighting, IsLit_Fast) - 64usize];
6007    ["Offset of field: _Lighting::Color_Sprite_Fast"]
6008        [::std::mem::offset_of!(_Lighting, Color_Sprite_Fast) - 72usize];
6009    ["Offset of field: _Lighting::Color_YMax_Fast"]
6010        [::std::mem::offset_of!(_Lighting, Color_YMax_Fast) - 80usize];
6011    ["Offset of field: _Lighting::Color_YMin_Fast"]
6012        [::std::mem::offset_of!(_Lighting, Color_YMin_Fast) - 88usize];
6013    ["Offset of field: _Lighting::Color_XSide_Fast"]
6014        [::std::mem::offset_of!(_Lighting, Color_XSide_Fast) - 96usize];
6015    ["Offset of field: _Lighting::Color_ZSide_Fast"]
6016        [::std::mem::offset_of!(_Lighting, Color_ZSide_Fast) - 104usize];
6017};
6018#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
6019    pub static mut Lighting: _Lighting;
6020}
6021pub type Logger_DescribeError =
6022    ::std::option::Option<unsafe extern "C" fn(res: cc_result, dst: *mut cc_string) -> cc_bool>;
6023pub type Logger_DoWarn = ::std::option::Option<unsafe extern "C" fn(msg: *const cc_string)>;
6024#[repr(C)]
6025#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
6026pub struct ChunkPartInfo {
6027    pub offset: ::std::os::raw::c_int,
6028    pub spriteCount: ::std::os::raw::c_int,
6029    pub counts: [cc_uint16; 6usize],
6030}
6031#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6032const _: () = {
6033    ["Size of ChunkPartInfo"][::std::mem::size_of::<ChunkPartInfo>() - 20usize];
6034    ["Alignment of ChunkPartInfo"][::std::mem::align_of::<ChunkPartInfo>() - 4usize];
6035    ["Offset of field: ChunkPartInfo::offset"]
6036        [::std::mem::offset_of!(ChunkPartInfo, offset) - 0usize];
6037    ["Offset of field: ChunkPartInfo::spriteCount"]
6038        [::std::mem::offset_of!(ChunkPartInfo, spriteCount) - 4usize];
6039    ["Offset of field: ChunkPartInfo::counts"]
6040        [::std::mem::offset_of!(ChunkPartInfo, counts) - 8usize];
6041};
6042#[repr(C)]
6043#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
6044pub struct ChunkInfo {
6045    pub centreX: cc_uint16,
6046    pub centreY: cc_uint16,
6047    pub centreZ: cc_uint16,
6048    pub _bitfield_align_1: [u8; 0],
6049    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
6050    pub vb: GfxResourceID,
6051    pub normalParts: *mut ChunkPartInfo,
6052    pub translucentParts: *mut ChunkPartInfo,
6053}
6054#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6055const _: () = {
6056    ["Size of ChunkInfo"][::std::mem::size_of::<ChunkInfo>() - 32usize];
6057    ["Alignment of ChunkInfo"][::std::mem::align_of::<ChunkInfo>() - 8usize];
6058    ["Offset of field: ChunkInfo::centreX"][::std::mem::offset_of!(ChunkInfo, centreX) - 0usize];
6059    ["Offset of field: ChunkInfo::centreY"][::std::mem::offset_of!(ChunkInfo, centreY) - 2usize];
6060    ["Offset of field: ChunkInfo::centreZ"][::std::mem::offset_of!(ChunkInfo, centreZ) - 4usize];
6061    ["Offset of field: ChunkInfo::vb"][::std::mem::offset_of!(ChunkInfo, vb) - 8usize];
6062    ["Offset of field: ChunkInfo::normalParts"]
6063        [::std::mem::offset_of!(ChunkInfo, normalParts) - 16usize];
6064    ["Offset of field: ChunkInfo::translucentParts"]
6065        [::std::mem::offset_of!(ChunkInfo, translucentParts) - 24usize];
6066};
6067impl ChunkInfo {
6068    #[inline]
6069    pub fn visible(&self) -> cc_uint8 {
6070        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u8) }
6071    }
6072    #[inline]
6073    pub fn set_visible(&mut self, val: cc_uint8) {
6074        unsafe {
6075            let val: u8 = ::std::mem::transmute(val);
6076            self._bitfield_1.set(0usize, 1u8, val as u64)
6077        }
6078    }
6079    #[inline]
6080    pub fn empty(&self) -> cc_uint8 {
6081        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u8) }
6082    }
6083    #[inline]
6084    pub fn set_empty(&mut self, val: cc_uint8) {
6085        unsafe {
6086            let val: u8 = ::std::mem::transmute(val);
6087            self._bitfield_1.set(1usize, 1u8, val as u64)
6088        }
6089    }
6090    #[inline]
6091    pub fn dirty(&self) -> cc_uint8 {
6092        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u8) }
6093    }
6094    #[inline]
6095    pub fn set_dirty(&mut self, val: cc_uint8) {
6096        unsafe {
6097            let val: u8 = ::std::mem::transmute(val);
6098            self._bitfield_1.set(2usize, 1u8, val as u64)
6099        }
6100    }
6101    #[inline]
6102    pub fn allAir(&self) -> cc_uint8 {
6103        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u8) }
6104    }
6105    #[inline]
6106    pub fn set_allAir(&mut self, val: cc_uint8) {
6107        unsafe {
6108            let val: u8 = ::std::mem::transmute(val);
6109            self._bitfield_1.set(3usize, 1u8, val as u64)
6110        }
6111    }
6112    #[inline]
6113    pub fn noData(&self) -> cc_uint8 {
6114        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u8) }
6115    }
6116    #[inline]
6117    pub fn set_noData(&mut self, val: cc_uint8) {
6118        unsafe {
6119            let val: u8 = ::std::mem::transmute(val);
6120            self._bitfield_1.set(4usize, 1u8, val as u64)
6121        }
6122    }
6123    #[inline]
6124    pub fn drawXMin(&self) -> cc_uint8 {
6125        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u8) }
6126    }
6127    #[inline]
6128    pub fn set_drawXMin(&mut self, val: cc_uint8) {
6129        unsafe {
6130            let val: u8 = ::std::mem::transmute(val);
6131            self._bitfield_1.set(8usize, 1u8, val as u64)
6132        }
6133    }
6134    #[inline]
6135    pub fn drawXMax(&self) -> cc_uint8 {
6136        unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u8) }
6137    }
6138    #[inline]
6139    pub fn set_drawXMax(&mut self, val: cc_uint8) {
6140        unsafe {
6141            let val: u8 = ::std::mem::transmute(val);
6142            self._bitfield_1.set(9usize, 1u8, val as u64)
6143        }
6144    }
6145    #[inline]
6146    pub fn drawZMin(&self) -> cc_uint8 {
6147        unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u8) }
6148    }
6149    #[inline]
6150    pub fn set_drawZMin(&mut self, val: cc_uint8) {
6151        unsafe {
6152            let val: u8 = ::std::mem::transmute(val);
6153            self._bitfield_1.set(10usize, 1u8, val as u64)
6154        }
6155    }
6156    #[inline]
6157    pub fn drawZMax(&self) -> cc_uint8 {
6158        unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u8) }
6159    }
6160    #[inline]
6161    pub fn set_drawZMax(&mut self, val: cc_uint8) {
6162        unsafe {
6163            let val: u8 = ::std::mem::transmute(val);
6164            self._bitfield_1.set(11usize, 1u8, val as u64)
6165        }
6166    }
6167    #[inline]
6168    pub fn drawYMin(&self) -> cc_uint8 {
6169        unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u8) }
6170    }
6171    #[inline]
6172    pub fn set_drawYMin(&mut self, val: cc_uint8) {
6173        unsafe {
6174            let val: u8 = ::std::mem::transmute(val);
6175            self._bitfield_1.set(12usize, 1u8, val as u64)
6176        }
6177    }
6178    #[inline]
6179    pub fn drawYMax(&self) -> cc_uint8 {
6180        unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u8) }
6181    }
6182    #[inline]
6183    pub fn set_drawYMax(&mut self, val: cc_uint8) {
6184        unsafe {
6185            let val: u8 = ::std::mem::transmute(val);
6186            self._bitfield_1.set(13usize, 1u8, val as u64)
6187        }
6188    }
6189    #[inline]
6190    pub fn new_bitfield_1(
6191        visible: cc_uint8,
6192        empty: cc_uint8,
6193        dirty: cc_uint8,
6194        allAir: cc_uint8,
6195        noData: cc_uint8,
6196        drawXMin: cc_uint8,
6197        drawXMax: cc_uint8,
6198        drawZMin: cc_uint8,
6199        drawZMax: cc_uint8,
6200        drawYMin: cc_uint8,
6201        drawYMax: cc_uint8,
6202    ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
6203        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
6204        __bindgen_bitfield_unit.set(0usize, 1u8, {
6205            let visible: u8 = unsafe { ::std::mem::transmute(visible) };
6206            visible as u64
6207        });
6208        __bindgen_bitfield_unit.set(1usize, 1u8, {
6209            let empty: u8 = unsafe { ::std::mem::transmute(empty) };
6210            empty as u64
6211        });
6212        __bindgen_bitfield_unit.set(2usize, 1u8, {
6213            let dirty: u8 = unsafe { ::std::mem::transmute(dirty) };
6214            dirty as u64
6215        });
6216        __bindgen_bitfield_unit.set(3usize, 1u8, {
6217            let allAir: u8 = unsafe { ::std::mem::transmute(allAir) };
6218            allAir as u64
6219        });
6220        __bindgen_bitfield_unit.set(4usize, 1u8, {
6221            let noData: u8 = unsafe { ::std::mem::transmute(noData) };
6222            noData as u64
6223        });
6224        __bindgen_bitfield_unit.set(8usize, 1u8, {
6225            let drawXMin: u8 = unsafe { ::std::mem::transmute(drawXMin) };
6226            drawXMin as u64
6227        });
6228        __bindgen_bitfield_unit.set(9usize, 1u8, {
6229            let drawXMax: u8 = unsafe { ::std::mem::transmute(drawXMax) };
6230            drawXMax as u64
6231        });
6232        __bindgen_bitfield_unit.set(10usize, 1u8, {
6233            let drawZMin: u8 = unsafe { ::std::mem::transmute(drawZMin) };
6234            drawZMin as u64
6235        });
6236        __bindgen_bitfield_unit.set(11usize, 1u8, {
6237            let drawZMax: u8 = unsafe { ::std::mem::transmute(drawZMax) };
6238            drawZMax as u64
6239        });
6240        __bindgen_bitfield_unit.set(12usize, 1u8, {
6241            let drawYMin: u8 = unsafe { ::std::mem::transmute(drawYMin) };
6242            drawYMin as u64
6243        });
6244        __bindgen_bitfield_unit.set(13usize, 1u8, {
6245            let drawYMax: u8 = unsafe { ::std::mem::transmute(drawYMax) };
6246            drawYMax as u64
6247        });
6248        __bindgen_bitfield_unit
6249    }
6250}
6251#[repr(C)]
6252#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
6253pub struct SimpleButtonDesc {
6254    pub x: ::std::os::raw::c_short,
6255    pub y: ::std::os::raw::c_short,
6256    pub title: *const ::std::os::raw::c_char,
6257    pub onClick: Widget_LeftClick,
6258}
6259#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6260const _: () = {
6261    ["Size of SimpleButtonDesc"][::std::mem::size_of::<SimpleButtonDesc>() - 24usize];
6262    ["Alignment of SimpleButtonDesc"][::std::mem::align_of::<SimpleButtonDesc>() - 8usize];
6263    ["Offset of field: SimpleButtonDesc::x"][::std::mem::offset_of!(SimpleButtonDesc, x) - 0usize];
6264    ["Offset of field: SimpleButtonDesc::y"][::std::mem::offset_of!(SimpleButtonDesc, y) - 2usize];
6265    ["Offset of field: SimpleButtonDesc::title"]
6266        [::std::mem::offset_of!(SimpleButtonDesc, title) - 8usize];
6267    ["Offset of field: SimpleButtonDesc::onClick"]
6268        [::std::mem::offset_of!(SimpleButtonDesc, onClick) - 16usize];
6269};
6270pub type MenuInputDone =
6271    ::std::option::Option<unsafe extern "C" fn(value: *const cc_string, valid: cc_bool)>;
6272pub type Button_GetBool = ::std::option::Option<unsafe extern "C" fn() -> cc_bool>;
6273pub type Button_SetBool = ::std::option::Option<unsafe extern "C" fn(value: cc_bool)>;
6274pub type Button_GetEnum = ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>;
6275pub type Button_SetEnum = ::std::option::Option<unsafe extern "C" fn(value: ::std::os::raw::c_int)>;
6276pub type Button_GetHex = ::std::option::Option<unsafe extern "C" fn() -> PackedCol>;
6277pub type Button_SetHex = ::std::option::Option<unsafe extern "C" fn(value: PackedCol)>;
6278pub type Button_GetInt = ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>;
6279pub type Button_SetInt = ::std::option::Option<unsafe extern "C" fn(value: ::std::os::raw::c_int)>;
6280pub type Button_GetNum = ::std::option::Option<unsafe extern "C" fn(v: *mut cc_string)>;
6281pub type Button_SetNum = ::std::option::Option<unsafe extern "C" fn(v: *const cc_string)>;
6282pub const RotateOrder_ROTATE_ORDER_ZYX: RotateOrder = 0;
6283pub const RotateOrder_ROTATE_ORDER_XZY: RotateOrder = 1;
6284pub const RotateOrder_ROTATE_ORDER_YZX: RotateOrder = 2;
6285pub const RotateOrder_ROTATE_ORDER_XYZ: RotateOrder = 3;
6286pub type RotateOrder = ::std::os::raw::c_int;
6287#[repr(C)]
6288#[derive(Debug, Copy, Clone, PartialEq)]
6289pub struct ModelVertex {
6290    pub x: f32,
6291    pub y: f32,
6292    pub z: f32,
6293    pub u: cc_uint16,
6294    pub v: cc_uint16,
6295}
6296#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6297const _: () = {
6298    ["Size of ModelVertex"][::std::mem::size_of::<ModelVertex>() - 16usize];
6299    ["Alignment of ModelVertex"][::std::mem::align_of::<ModelVertex>() - 4usize];
6300    ["Offset of field: ModelVertex::x"][::std::mem::offset_of!(ModelVertex, x) - 0usize];
6301    ["Offset of field: ModelVertex::y"][::std::mem::offset_of!(ModelVertex, y) - 4usize];
6302    ["Offset of field: ModelVertex::z"][::std::mem::offset_of!(ModelVertex, z) - 8usize];
6303    ["Offset of field: ModelVertex::u"][::std::mem::offset_of!(ModelVertex, u) - 12usize];
6304    ["Offset of field: ModelVertex::v"][::std::mem::offset_of!(ModelVertex, v) - 14usize];
6305};
6306#[repr(C)]
6307#[derive(Debug, Copy, Clone, PartialEq)]
6308pub struct ModelPart {
6309    pub offset: cc_uint16,
6310    pub count: cc_uint16,
6311    pub rotX: f32,
6312    pub rotY: f32,
6313    pub rotZ: f32,
6314}
6315#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6316const _: () = {
6317    ["Size of ModelPart"][::std::mem::size_of::<ModelPart>() - 16usize];
6318    ["Alignment of ModelPart"][::std::mem::align_of::<ModelPart>() - 4usize];
6319    ["Offset of field: ModelPart::offset"][::std::mem::offset_of!(ModelPart, offset) - 0usize];
6320    ["Offset of field: ModelPart::count"][::std::mem::offset_of!(ModelPart, count) - 2usize];
6321    ["Offset of field: ModelPart::rotX"][::std::mem::offset_of!(ModelPart, rotX) - 4usize];
6322    ["Offset of field: ModelPart::rotY"][::std::mem::offset_of!(ModelPart, rotY) - 8usize];
6323    ["Offset of field: ModelPart::rotZ"][::std::mem::offset_of!(ModelPart, rotZ) - 12usize];
6324};
6325#[repr(C)]
6326#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
6327pub struct ModelTex {
6328    pub name: *const ::std::os::raw::c_char,
6329    pub skinType: cc_uint8,
6330    pub texID: GfxResourceID,
6331    pub next: *mut ModelTex,
6332}
6333#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6334const _: () = {
6335    ["Size of ModelTex"][::std::mem::size_of::<ModelTex>() - 32usize];
6336    ["Alignment of ModelTex"][::std::mem::align_of::<ModelTex>() - 8usize];
6337    ["Offset of field: ModelTex::name"][::std::mem::offset_of!(ModelTex, name) - 0usize];
6338    ["Offset of field: ModelTex::skinType"][::std::mem::offset_of!(ModelTex, skinType) - 8usize];
6339    ["Offset of field: ModelTex::texID"][::std::mem::offset_of!(ModelTex, texID) - 16usize];
6340    ["Offset of field: ModelTex::next"][::std::mem::offset_of!(ModelTex, next) - 24usize];
6341};
6342#[repr(C)]
6343#[derive(Debug, Copy, Clone, PartialEq)]
6344pub struct Model {
6345    pub name: *const ::std::os::raw::c_char,
6346    pub vertices: *mut ModelVertex,
6347    pub defaultTex: *mut ModelTex,
6348    pub MakeParts: ::std::option::Option<unsafe extern "C" fn()>,
6349    pub Draw: ::std::option::Option<unsafe extern "C" fn(entity: *mut Entity)>,
6350    pub GetNameY: ::std::option::Option<unsafe extern "C" fn(entity: *mut Entity) -> f32>,
6351    pub GetEyeY: ::std::option::Option<unsafe extern "C" fn(entity: *mut Entity) -> f32>,
6352    pub GetCollisionSize: ::std::option::Option<unsafe extern "C" fn(entity: *mut Entity)>,
6353    pub GetPickingBounds: ::std::option::Option<unsafe extern "C" fn(entity: *mut Entity)>,
6354    pub index: ::std::os::raw::c_int,
6355    pub armX: cc_uint8,
6356    pub armY: cc_uint8,
6357    pub flags: cc_uint8,
6358    pub bobbing: cc_bool,
6359    pub usesSkin: cc_bool,
6360    pub calcHumanAnims: cc_bool,
6361    pub usesHumanSkin: cc_bool,
6362    pub pushes: cc_bool,
6363    pub gravity: f32,
6364    pub drag: Vec3,
6365    pub groundFriction: Vec3,
6366    pub GetTransform:
6367        ::std::option::Option<unsafe extern "C" fn(entity: *mut Entity, pos: Vec3, m: *mut Matrix)>,
6368    pub DrawArm: ::std::option::Option<unsafe extern "C" fn(entity: *mut Entity)>,
6369    pub maxScale: f32,
6370    pub shadowScale: f32,
6371    pub maxVertices: ::std::os::raw::c_int,
6372    pub next: *mut Model,
6373}
6374#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6375const _: () = {
6376    ["Size of Model"][::std::mem::size_of::<Model>() - 152usize];
6377    ["Alignment of Model"][::std::mem::align_of::<Model>() - 8usize];
6378    ["Offset of field: Model::name"][::std::mem::offset_of!(Model, name) - 0usize];
6379    ["Offset of field: Model::vertices"][::std::mem::offset_of!(Model, vertices) - 8usize];
6380    ["Offset of field: Model::defaultTex"][::std::mem::offset_of!(Model, defaultTex) - 16usize];
6381    ["Offset of field: Model::MakeParts"][::std::mem::offset_of!(Model, MakeParts) - 24usize];
6382    ["Offset of field: Model::Draw"][::std::mem::offset_of!(Model, Draw) - 32usize];
6383    ["Offset of field: Model::GetNameY"][::std::mem::offset_of!(Model, GetNameY) - 40usize];
6384    ["Offset of field: Model::GetEyeY"][::std::mem::offset_of!(Model, GetEyeY) - 48usize];
6385    ["Offset of field: Model::GetCollisionSize"]
6386        [::std::mem::offset_of!(Model, GetCollisionSize) - 56usize];
6387    ["Offset of field: Model::GetPickingBounds"]
6388        [::std::mem::offset_of!(Model, GetPickingBounds) - 64usize];
6389    ["Offset of field: Model::index"][::std::mem::offset_of!(Model, index) - 72usize];
6390    ["Offset of field: Model::armX"][::std::mem::offset_of!(Model, armX) - 76usize];
6391    ["Offset of field: Model::armY"][::std::mem::offset_of!(Model, armY) - 77usize];
6392    ["Offset of field: Model::flags"][::std::mem::offset_of!(Model, flags) - 78usize];
6393    ["Offset of field: Model::bobbing"][::std::mem::offset_of!(Model, bobbing) - 79usize];
6394    ["Offset of field: Model::usesSkin"][::std::mem::offset_of!(Model, usesSkin) - 80usize];
6395    ["Offset of field: Model::calcHumanAnims"]
6396        [::std::mem::offset_of!(Model, calcHumanAnims) - 81usize];
6397    ["Offset of field: Model::usesHumanSkin"]
6398        [::std::mem::offset_of!(Model, usesHumanSkin) - 82usize];
6399    ["Offset of field: Model::pushes"][::std::mem::offset_of!(Model, pushes) - 83usize];
6400    ["Offset of field: Model::gravity"][::std::mem::offset_of!(Model, gravity) - 84usize];
6401    ["Offset of field: Model::drag"][::std::mem::offset_of!(Model, drag) - 88usize];
6402    ["Offset of field: Model::groundFriction"]
6403        [::std::mem::offset_of!(Model, groundFriction) - 100usize];
6404    ["Offset of field: Model::GetTransform"]
6405        [::std::mem::offset_of!(Model, GetTransform) - 112usize];
6406    ["Offset of field: Model::DrawArm"][::std::mem::offset_of!(Model, DrawArm) - 120usize];
6407    ["Offset of field: Model::maxScale"][::std::mem::offset_of!(Model, maxScale) - 128usize];
6408    ["Offset of field: Model::shadowScale"][::std::mem::offset_of!(Model, shadowScale) - 132usize];
6409    ["Offset of field: Model::maxVertices"][::std::mem::offset_of!(Model, maxVertices) - 136usize];
6410    ["Offset of field: Model::next"][::std::mem::offset_of!(Model, next) - 144usize];
6411};
6412#[repr(C)]
6413#[derive(Debug, Copy, Clone, PartialEq)]
6414pub struct _ModelsData {
6415    pub Cols: [PackedCol; 6usize],
6416    pub uScale: f32,
6417    pub vScale: f32,
6418    pub cosHead: f32,
6419    pub sinHead: f32,
6420    pub Rotation: cc_uint8,
6421    pub skinType: cc_uint8,
6422    pub ClassicArms: cc_bool,
6423    pub Active: *mut Model,
6424    pub Vb: GfxResourceID,
6425    pub Vertices: *mut VertexTextured,
6426    pub MaxVertices: ::std::os::raw::c_int,
6427    pub Human: *mut Model,
6428    pub Block: *mut Model,
6429}
6430#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6431const _: () = {
6432    ["Size of _ModelsData"][::std::mem::size_of::<_ModelsData>() - 96usize];
6433    ["Alignment of _ModelsData"][::std::mem::align_of::<_ModelsData>() - 8usize];
6434    ["Offset of field: _ModelsData::Cols"][::std::mem::offset_of!(_ModelsData, Cols) - 0usize];
6435    ["Offset of field: _ModelsData::uScale"][::std::mem::offset_of!(_ModelsData, uScale) - 24usize];
6436    ["Offset of field: _ModelsData::vScale"][::std::mem::offset_of!(_ModelsData, vScale) - 28usize];
6437    ["Offset of field: _ModelsData::cosHead"]
6438        [::std::mem::offset_of!(_ModelsData, cosHead) - 32usize];
6439    ["Offset of field: _ModelsData::sinHead"]
6440        [::std::mem::offset_of!(_ModelsData, sinHead) - 36usize];
6441    ["Offset of field: _ModelsData::Rotation"]
6442        [::std::mem::offset_of!(_ModelsData, Rotation) - 40usize];
6443    ["Offset of field: _ModelsData::skinType"]
6444        [::std::mem::offset_of!(_ModelsData, skinType) - 41usize];
6445    ["Offset of field: _ModelsData::ClassicArms"]
6446        [::std::mem::offset_of!(_ModelsData, ClassicArms) - 42usize];
6447    ["Offset of field: _ModelsData::Active"][::std::mem::offset_of!(_ModelsData, Active) - 48usize];
6448    ["Offset of field: _ModelsData::Vb"][::std::mem::offset_of!(_ModelsData, Vb) - 56usize];
6449    ["Offset of field: _ModelsData::Vertices"]
6450        [::std::mem::offset_of!(_ModelsData, Vertices) - 64usize];
6451    ["Offset of field: _ModelsData::MaxVertices"]
6452        [::std::mem::offset_of!(_ModelsData, MaxVertices) - 72usize];
6453    ["Offset of field: _ModelsData::Human"][::std::mem::offset_of!(_ModelsData, Human) - 80usize];
6454    ["Offset of field: _ModelsData::Block"][::std::mem::offset_of!(_ModelsData, Block) - 88usize];
6455};
6456#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
6457    pub static mut Models: _ModelsData;
6458}
6459extern "C" {
6460    pub fn Model_Init(model: *mut Model);
6461}
6462extern "C" {
6463    pub fn Model_Render(model: *mut Model, entity: *mut Entity);
6464}
6465extern "C" {
6466    pub fn Model_SetupState(model: *mut Model, entity: *mut Entity);
6467}
6468extern "C" {
6469    pub fn Model_ApplyTexture(entity: *mut Entity);
6470}
6471extern "C" {
6472    pub fn Model_UpdateVB();
6473}
6474extern "C" {
6475    pub fn Model_DrawPart(part: *mut ModelPart);
6476}
6477extern "C" {
6478    pub fn Model_DrawRotate(
6479        angleX: f32,
6480        angleY: f32,
6481        angleZ: f32,
6482        part: *mut ModelPart,
6483        head: cc_bool,
6484    );
6485}
6486extern "C" {
6487    pub fn Model_DrawArmPart(part: *mut ModelPart);
6488}
6489extern "C" {
6490    pub fn Model_Get(name: *const cc_string) -> *mut Model;
6491}
6492extern "C" {
6493    pub fn Model_Register(model: *mut Model);
6494}
6495extern "C" {
6496    pub fn Model_RegisterTexture(tex: *mut ModelTex);
6497}
6498#[repr(C)]
6499#[derive(Debug, Copy, Clone, PartialEq)]
6500pub struct BoxDesc {
6501    pub texX: cc_uint16,
6502    pub texY: cc_uint16,
6503    pub sizeX: cc_uint8,
6504    pub sizeY: cc_uint8,
6505    pub sizeZ: cc_uint8,
6506    pub x1: f32,
6507    pub y1: f32,
6508    pub z1: f32,
6509    pub x2: f32,
6510    pub y2: f32,
6511    pub z2: f32,
6512    pub rotX: f32,
6513    pub rotY: f32,
6514    pub rotZ: f32,
6515}
6516#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6517const _: () = {
6518    ["Size of BoxDesc"][::std::mem::size_of::<BoxDesc>() - 44usize];
6519    ["Alignment of BoxDesc"][::std::mem::align_of::<BoxDesc>() - 4usize];
6520    ["Offset of field: BoxDesc::texX"][::std::mem::offset_of!(BoxDesc, texX) - 0usize];
6521    ["Offset of field: BoxDesc::texY"][::std::mem::offset_of!(BoxDesc, texY) - 2usize];
6522    ["Offset of field: BoxDesc::sizeX"][::std::mem::offset_of!(BoxDesc, sizeX) - 4usize];
6523    ["Offset of field: BoxDesc::sizeY"][::std::mem::offset_of!(BoxDesc, sizeY) - 5usize];
6524    ["Offset of field: BoxDesc::sizeZ"][::std::mem::offset_of!(BoxDesc, sizeZ) - 6usize];
6525    ["Offset of field: BoxDesc::x1"][::std::mem::offset_of!(BoxDesc, x1) - 8usize];
6526    ["Offset of field: BoxDesc::y1"][::std::mem::offset_of!(BoxDesc, y1) - 12usize];
6527    ["Offset of field: BoxDesc::z1"][::std::mem::offset_of!(BoxDesc, z1) - 16usize];
6528    ["Offset of field: BoxDesc::x2"][::std::mem::offset_of!(BoxDesc, x2) - 20usize];
6529    ["Offset of field: BoxDesc::y2"][::std::mem::offset_of!(BoxDesc, y2) - 24usize];
6530    ["Offset of field: BoxDesc::z2"][::std::mem::offset_of!(BoxDesc, z2) - 28usize];
6531    ["Offset of field: BoxDesc::rotX"][::std::mem::offset_of!(BoxDesc, rotX) - 32usize];
6532    ["Offset of field: BoxDesc::rotY"][::std::mem::offset_of!(BoxDesc, rotY) - 36usize];
6533    ["Offset of field: BoxDesc::rotZ"][::std::mem::offset_of!(BoxDesc, rotZ) - 40usize];
6534};
6535extern "C" {
6536    pub fn BoxDesc_BuildBox(part: *mut ModelPart, desc: *const BoxDesc);
6537}
6538extern "C" {
6539    pub fn BoxDesc_BuildRotatedBox(part: *mut ModelPart, desc: *const BoxDesc);
6540}
6541extern "C" {
6542    pub fn BoxDesc_XQuad(
6543        m: *mut Model,
6544        texX: ::std::os::raw::c_int,
6545        texY: ::std::os::raw::c_int,
6546        texWidth: ::std::os::raw::c_int,
6547        texHeight: ::std::os::raw::c_int,
6548        z1: f32,
6549        z2: f32,
6550        y1: f32,
6551        y2: f32,
6552        x: f32,
6553        swapU: cc_bool,
6554    );
6555}
6556extern "C" {
6557    pub fn BoxDesc_YQuad(
6558        m: *mut Model,
6559        texX: ::std::os::raw::c_int,
6560        texY: ::std::os::raw::c_int,
6561        texWidth: ::std::os::raw::c_int,
6562        texHeight: ::std::os::raw::c_int,
6563        x1: f32,
6564        x2: f32,
6565        z1: f32,
6566        z2: f32,
6567        y: f32,
6568        swapU: cc_bool,
6569    );
6570}
6571extern "C" {
6572    pub fn BoxDesc_ZQuad(
6573        m: *mut Model,
6574        texX: ::std::os::raw::c_int,
6575        texY: ::std::os::raw::c_int,
6576        texWidth: ::std::os::raw::c_int,
6577        texHeight: ::std::os::raw::c_int,
6578        x1: f32,
6579        x2: f32,
6580        y1: f32,
6581        y2: f32,
6582        z: f32,
6583        swapU: cc_bool,
6584    );
6585}
6586extern "C" {
6587    pub fn BoxDesc_XQuad2(
6588        m: *mut Model,
6589        z1: f32,
6590        z2: f32,
6591        y1: f32,
6592        y2: f32,
6593        x: f32,
6594        u1: ::std::os::raw::c_int,
6595        v1: ::std::os::raw::c_int,
6596        u2: ::std::os::raw::c_int,
6597        v2: ::std::os::raw::c_int,
6598    );
6599}
6600extern "C" {
6601    pub fn BoxDesc_YQuad2(
6602        m: *mut Model,
6603        x1: f32,
6604        x2: f32,
6605        z1: f32,
6606        z2: f32,
6607        y: f32,
6608        u1: ::std::os::raw::c_int,
6609        v1: ::std::os::raw::c_int,
6610        u2: ::std::os::raw::c_int,
6611        v2: ::std::os::raw::c_int,
6612    );
6613}
6614extern "C" {
6615    pub fn BoxDesc_ZQuad2(
6616        m: *mut Model,
6617        x1: f32,
6618        x2: f32,
6619        y1: f32,
6620        y2: f32,
6621        z: f32,
6622        u1: ::std::os::raw::c_int,
6623        v1: ::std::os::raw::c_int,
6624        u2: ::std::os::raw::c_int,
6625        v2: ::std::os::raw::c_int,
6626    );
6627}
6628pub const CustomModelAnimType_CustomModelAnimType_None: CustomModelAnimType = 0;
6629pub const CustomModelAnimType_CustomModelAnimType_Head: CustomModelAnimType = 1;
6630pub const CustomModelAnimType_CustomModelAnimType_LeftLegX: CustomModelAnimType = 2;
6631pub const CustomModelAnimType_CustomModelAnimType_RightLegX: CustomModelAnimType = 3;
6632pub const CustomModelAnimType_CustomModelAnimType_LeftArmX: CustomModelAnimType = 4;
6633pub const CustomModelAnimType_CustomModelAnimType_LeftArmZ: CustomModelAnimType = 5;
6634pub const CustomModelAnimType_CustomModelAnimType_RightArmX: CustomModelAnimType = 6;
6635pub const CustomModelAnimType_CustomModelAnimType_RightArmZ: CustomModelAnimType = 7;
6636pub const CustomModelAnimType_CustomModelAnimType_Spin: CustomModelAnimType = 8;
6637pub const CustomModelAnimType_CustomModelAnimType_SpinVelocity: CustomModelAnimType = 9;
6638pub const CustomModelAnimType_CustomModelAnimType_SinRotate: CustomModelAnimType = 10;
6639pub const CustomModelAnimType_CustomModelAnimType_SinRotateVelocity: CustomModelAnimType = 11;
6640pub const CustomModelAnimType_CustomModelAnimType_SinTranslate: CustomModelAnimType = 12;
6641pub const CustomModelAnimType_CustomModelAnimType_SinTranslateVelocity: CustomModelAnimType = 13;
6642pub const CustomModelAnimType_CustomModelAnimType_SinSize: CustomModelAnimType = 14;
6643pub const CustomModelAnimType_CustomModelAnimType_SinSizeVelocity: CustomModelAnimType = 15;
6644pub const CustomModelAnimType_CustomModelAnimType_FlipRotate: CustomModelAnimType = 16;
6645pub const CustomModelAnimType_CustomModelAnimType_FlipRotateVelocity: CustomModelAnimType = 17;
6646pub const CustomModelAnimType_CustomModelAnimType_FlipTranslate: CustomModelAnimType = 18;
6647pub const CustomModelAnimType_CustomModelAnimType_FlipTranslateVelocity: CustomModelAnimType = 19;
6648pub const CustomModelAnimType_CustomModelAnimType_FlipSize: CustomModelAnimType = 20;
6649pub const CustomModelAnimType_CustomModelAnimType_FlipSizeVelocity: CustomModelAnimType = 21;
6650pub type CustomModelAnimType = ::std::os::raw::c_int;
6651pub const CustomModelAnimAxis_CustomModelAnimAxis_X: CustomModelAnimAxis = 0;
6652pub const CustomModelAnimAxis_CustomModelAnimAxis_Y: CustomModelAnimAxis = 1;
6653pub const CustomModelAnimAxis_CustomModelAnimAxis_Z: CustomModelAnimAxis = 2;
6654pub type CustomModelAnimAxis = ::std::os::raw::c_int;
6655#[repr(C)]
6656#[derive(Debug, Copy, Clone, PartialEq)]
6657pub struct CustomModelAnim {
6658    pub a: f32,
6659    pub b: f32,
6660    pub c: f32,
6661    pub d: f32,
6662}
6663#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6664const _: () = {
6665    ["Size of CustomModelAnim"][::std::mem::size_of::<CustomModelAnim>() - 16usize];
6666    ["Alignment of CustomModelAnim"][::std::mem::align_of::<CustomModelAnim>() - 4usize];
6667    ["Offset of field: CustomModelAnim::a"][::std::mem::offset_of!(CustomModelAnim, a) - 0usize];
6668    ["Offset of field: CustomModelAnim::b"][::std::mem::offset_of!(CustomModelAnim, b) - 4usize];
6669    ["Offset of field: CustomModelAnim::c"][::std::mem::offset_of!(CustomModelAnim, c) - 8usize];
6670    ["Offset of field: CustomModelAnim::d"][::std::mem::offset_of!(CustomModelAnim, d) - 12usize];
6671};
6672#[repr(C)]
6673#[derive(Debug, Copy, Clone, PartialEq)]
6674pub struct CustomModelPartDef {
6675    pub min: Vec3,
6676    pub max: Vec3,
6677    pub u1: [cc_uint16; 6usize],
6678    pub v1: [cc_uint16; 6usize],
6679    pub u2: [cc_uint16; 6usize],
6680    pub v2: [cc_uint16; 6usize],
6681    pub rotationOrigin: Vec3,
6682    pub flags: cc_uint8,
6683}
6684#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6685const _: () = {
6686    ["Size of CustomModelPartDef"][::std::mem::size_of::<CustomModelPartDef>() - 88usize];
6687    ["Alignment of CustomModelPartDef"][::std::mem::align_of::<CustomModelPartDef>() - 4usize];
6688    ["Offset of field: CustomModelPartDef::min"]
6689        [::std::mem::offset_of!(CustomModelPartDef, min) - 0usize];
6690    ["Offset of field: CustomModelPartDef::max"]
6691        [::std::mem::offset_of!(CustomModelPartDef, max) - 12usize];
6692    ["Offset of field: CustomModelPartDef::u1"]
6693        [::std::mem::offset_of!(CustomModelPartDef, u1) - 24usize];
6694    ["Offset of field: CustomModelPartDef::v1"]
6695        [::std::mem::offset_of!(CustomModelPartDef, v1) - 36usize];
6696    ["Offset of field: CustomModelPartDef::u2"]
6697        [::std::mem::offset_of!(CustomModelPartDef, u2) - 48usize];
6698    ["Offset of field: CustomModelPartDef::v2"]
6699        [::std::mem::offset_of!(CustomModelPartDef, v2) - 60usize];
6700    ["Offset of field: CustomModelPartDef::rotationOrigin"]
6701        [::std::mem::offset_of!(CustomModelPartDef, rotationOrigin) - 72usize];
6702    ["Offset of field: CustomModelPartDef::flags"]
6703        [::std::mem::offset_of!(CustomModelPartDef, flags) - 84usize];
6704};
6705#[repr(C)]
6706#[derive(Debug, Copy, Clone, PartialEq)]
6707pub struct CustomModelPart {
6708    pub modelPart: ModelPart,
6709    pub rotation: Vec3,
6710    pub anims: [CustomModelAnim; 4usize],
6711    pub animType: [cc_uint8; 4usize],
6712    pub animAxis: [cc_uint8; 4usize],
6713    pub fullbright: cc_bool,
6714    pub firstPersonArm: cc_bool,
6715}
6716#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6717const _: () = {
6718    ["Size of CustomModelPart"][::std::mem::size_of::<CustomModelPart>() - 104usize];
6719    ["Alignment of CustomModelPart"][::std::mem::align_of::<CustomModelPart>() - 4usize];
6720    ["Offset of field: CustomModelPart::modelPart"]
6721        [::std::mem::offset_of!(CustomModelPart, modelPart) - 0usize];
6722    ["Offset of field: CustomModelPart::rotation"]
6723        [::std::mem::offset_of!(CustomModelPart, rotation) - 16usize];
6724    ["Offset of field: CustomModelPart::anims"]
6725        [::std::mem::offset_of!(CustomModelPart, anims) - 28usize];
6726    ["Offset of field: CustomModelPart::animType"]
6727        [::std::mem::offset_of!(CustomModelPart, animType) - 92usize];
6728    ["Offset of field: CustomModelPart::animAxis"]
6729        [::std::mem::offset_of!(CustomModelPart, animAxis) - 96usize];
6730    ["Offset of field: CustomModelPart::fullbright"]
6731        [::std::mem::offset_of!(CustomModelPart, fullbright) - 100usize];
6732    ["Offset of field: CustomModelPart::firstPersonArm"]
6733        [::std::mem::offset_of!(CustomModelPart, firstPersonArm) - 101usize];
6734};
6735#[repr(C)]
6736#[derive(Debug, Copy, Clone, PartialEq)]
6737pub struct CustomModel {
6738    pub model: Model,
6739    pub name: [::std::os::raw::c_char; 65usize],
6740    pub registered: cc_bool,
6741    pub defined: cc_bool,
6742    pub curPartIndex: cc_uint8,
6743    pub nameY: f32,
6744    pub eyeY: f32,
6745    pub collisionBounds: Vec3,
6746    pub pickingBoundsAABB: AABB,
6747    pub uScale: cc_uint16,
6748    pub vScale: cc_uint16,
6749    pub numParts: cc_uint8,
6750    pub numArmParts: cc_uint8,
6751    pub parts: [CustomModelPart; 64usize],
6752}
6753#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6754const _: () = {
6755    ["Size of CustomModel"][::std::mem::size_of::<CustomModel>() - 6928usize];
6756    ["Alignment of CustomModel"][::std::mem::align_of::<CustomModel>() - 8usize];
6757    ["Offset of field: CustomModel::model"][::std::mem::offset_of!(CustomModel, model) - 0usize];
6758    ["Offset of field: CustomModel::name"][::std::mem::offset_of!(CustomModel, name) - 152usize];
6759    ["Offset of field: CustomModel::registered"]
6760        [::std::mem::offset_of!(CustomModel, registered) - 217usize];
6761    ["Offset of field: CustomModel::defined"]
6762        [::std::mem::offset_of!(CustomModel, defined) - 218usize];
6763    ["Offset of field: CustomModel::curPartIndex"]
6764        [::std::mem::offset_of!(CustomModel, curPartIndex) - 219usize];
6765    ["Offset of field: CustomModel::nameY"][::std::mem::offset_of!(CustomModel, nameY) - 220usize];
6766    ["Offset of field: CustomModel::eyeY"][::std::mem::offset_of!(CustomModel, eyeY) - 224usize];
6767    ["Offset of field: CustomModel::collisionBounds"]
6768        [::std::mem::offset_of!(CustomModel, collisionBounds) - 228usize];
6769    ["Offset of field: CustomModel::pickingBoundsAABB"]
6770        [::std::mem::offset_of!(CustomModel, pickingBoundsAABB) - 240usize];
6771    ["Offset of field: CustomModel::uScale"]
6772        [::std::mem::offset_of!(CustomModel, uScale) - 264usize];
6773    ["Offset of field: CustomModel::vScale"]
6774        [::std::mem::offset_of!(CustomModel, vScale) - 266usize];
6775    ["Offset of field: CustomModel::numParts"]
6776        [::std::mem::offset_of!(CustomModel, numParts) - 268usize];
6777    ["Offset of field: CustomModel::numArmParts"]
6778        [::std::mem::offset_of!(CustomModel, numArmParts) - 269usize];
6779    ["Offset of field: CustomModel::parts"][::std::mem::offset_of!(CustomModel, parts) - 272usize];
6780};
6781extern "C" {
6782    pub fn Options_Reload();
6783}
6784extern "C" {
6785    pub fn Options_SaveIfChanged();
6786}
6787extern "C" {
6788    pub fn Options_Get(
6789        key: *const ::std::os::raw::c_char,
6790        value: *mut cc_string,
6791        defValue: *const ::std::os::raw::c_char,
6792    );
6793}
6794extern "C" {
6795    pub fn Options_GetInt(
6796        key: *const ::std::os::raw::c_char,
6797        min: ::std::os::raw::c_int,
6798        max: ::std::os::raw::c_int,
6799        defValue: ::std::os::raw::c_int,
6800    ) -> ::std::os::raw::c_int;
6801}
6802extern "C" {
6803    pub fn Options_GetBool(key: *const ::std::os::raw::c_char, defValue: cc_bool) -> cc_bool;
6804}
6805extern "C" {
6806    pub fn Options_GetFloat(
6807        key: *const ::std::os::raw::c_char,
6808        min: f32,
6809        max: f32,
6810        defValue: f32,
6811    ) -> f32;
6812}
6813extern "C" {
6814    pub fn Options_GetEnum(
6815        key: *const ::std::os::raw::c_char,
6816        defValue: ::std::os::raw::c_int,
6817        names: *const *const ::std::os::raw::c_char,
6818        namesCount: ::std::os::raw::c_int,
6819    ) -> ::std::os::raw::c_int;
6820}
6821extern "C" {
6822    pub fn Options_SetBool(keyRaw: *const ::std::os::raw::c_char, value: cc_bool);
6823}
6824extern "C" {
6825    pub fn Options_SetInt(keyRaw: *const ::std::os::raw::c_char, value: ::std::os::raw::c_int);
6826}
6827extern "C" {
6828    pub fn Options_Set(keyRaw: *const ::std::os::raw::c_char, value: *const cc_string);
6829}
6830extern "C" {
6831    pub fn Options_SetString(key: *const cc_string, value: *const cc_string);
6832}
6833#[repr(C)]
6834#[derive(Debug, Copy, Clone, PartialEq)]
6835pub struct Particle {
6836    pub velocity: Vec3,
6837    pub lifetime: f32,
6838    pub lastPos: Vec3,
6839    pub nextPos: Vec3,
6840    pub size: f32,
6841}
6842#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6843const _: () = {
6844    ["Size of Particle"][::std::mem::size_of::<Particle>() - 44usize];
6845    ["Alignment of Particle"][::std::mem::align_of::<Particle>() - 4usize];
6846    ["Offset of field: Particle::velocity"][::std::mem::offset_of!(Particle, velocity) - 0usize];
6847    ["Offset of field: Particle::lifetime"][::std::mem::offset_of!(Particle, lifetime) - 12usize];
6848    ["Offset of field: Particle::lastPos"][::std::mem::offset_of!(Particle, lastPos) - 16usize];
6849    ["Offset of field: Particle::nextPos"][::std::mem::offset_of!(Particle, nextPos) - 28usize];
6850    ["Offset of field: Particle::size"][::std::mem::offset_of!(Particle, size) - 40usize];
6851};
6852#[repr(C)]
6853#[derive(Debug, Copy, Clone, PartialEq)]
6854pub struct CustomParticleEffect {
6855    pub rec: TextureRec,
6856    pub tintCol: PackedCol,
6857    pub frameCount: cc_uint8,
6858    pub particleCount: cc_uint8,
6859    pub collideFlags: cc_uint8,
6860    pub fullBright: cc_bool,
6861    pub size: f32,
6862    pub sizeVariation: f32,
6863    pub spread: f32,
6864    pub speed: f32,
6865    pub gravity: f32,
6866    pub baseLifetime: f32,
6867    pub lifetimeVariation: f32,
6868}
6869#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6870const _: () = {
6871    ["Size of CustomParticleEffect"][::std::mem::size_of::<CustomParticleEffect>() - 52usize];
6872    ["Alignment of CustomParticleEffect"][::std::mem::align_of::<CustomParticleEffect>() - 4usize];
6873    ["Offset of field: CustomParticleEffect::rec"]
6874        [::std::mem::offset_of!(CustomParticleEffect, rec) - 0usize];
6875    ["Offset of field: CustomParticleEffect::tintCol"]
6876        [::std::mem::offset_of!(CustomParticleEffect, tintCol) - 16usize];
6877    ["Offset of field: CustomParticleEffect::frameCount"]
6878        [::std::mem::offset_of!(CustomParticleEffect, frameCount) - 20usize];
6879    ["Offset of field: CustomParticleEffect::particleCount"]
6880        [::std::mem::offset_of!(CustomParticleEffect, particleCount) - 21usize];
6881    ["Offset of field: CustomParticleEffect::collideFlags"]
6882        [::std::mem::offset_of!(CustomParticleEffect, collideFlags) - 22usize];
6883    ["Offset of field: CustomParticleEffect::fullBright"]
6884        [::std::mem::offset_of!(CustomParticleEffect, fullBright) - 23usize];
6885    ["Offset of field: CustomParticleEffect::size"]
6886        [::std::mem::offset_of!(CustomParticleEffect, size) - 24usize];
6887    ["Offset of field: CustomParticleEffect::sizeVariation"]
6888        [::std::mem::offset_of!(CustomParticleEffect, sizeVariation) - 28usize];
6889    ["Offset of field: CustomParticleEffect::spread"]
6890        [::std::mem::offset_of!(CustomParticleEffect, spread) - 32usize];
6891    ["Offset of field: CustomParticleEffect::speed"]
6892        [::std::mem::offset_of!(CustomParticleEffect, speed) - 36usize];
6893    ["Offset of field: CustomParticleEffect::gravity"]
6894        [::std::mem::offset_of!(CustomParticleEffect, gravity) - 40usize];
6895    ["Offset of field: CustomParticleEffect::baseLifetime"]
6896        [::std::mem::offset_of!(CustomParticleEffect, baseLifetime) - 44usize];
6897    ["Offset of field: CustomParticleEffect::lifetimeVariation"]
6898        [::std::mem::offset_of!(CustomParticleEffect, lifetimeVariation) - 48usize];
6899};
6900#[repr(C)]
6901#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
6902pub struct cc_winstring_ {
6903    pub uni: [cc_unichar; 300usize],
6904    pub ansi: [::std::os::raw::c_char; 300usize],
6905}
6906#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6907const _: () = {
6908    ["Size of cc_winstring_"][::std::mem::size_of::<cc_winstring_>() - 900usize];
6909    ["Alignment of cc_winstring_"][::std::mem::align_of::<cc_winstring_>() - 2usize];
6910    ["Offset of field: cc_winstring_::uni"][::std::mem::offset_of!(cc_winstring_, uni) - 0usize];
6911    ["Offset of field: cc_winstring_::ansi"]
6912        [::std::mem::offset_of!(cc_winstring_, ansi) - 600usize];
6913};
6914pub type cc_winstring = cc_winstring_;
6915pub type cc_filepath = cc_winstring;
6916extern "C" {
6917    pub fn Process_StartGame2(args: *const cc_string, numArgs: ::std::os::raw::c_int) -> cc_result;
6918}
6919extern "C" {
6920    pub fn Process_Exit(code: cc_result);
6921}
6922extern "C" {
6923    pub fn Process_StartOpen(args: *const cc_string) -> cc_result;
6924}
6925#[repr(C)]
6926#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
6927pub struct UpdaterBuild {
6928    pub name: *const ::std::os::raw::c_char,
6929    pub path: *const ::std::os::raw::c_char,
6930}
6931#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6932const _: () = {
6933    ["Size of UpdaterBuild"][::std::mem::size_of::<UpdaterBuild>() - 16usize];
6934    ["Alignment of UpdaterBuild"][::std::mem::align_of::<UpdaterBuild>() - 8usize];
6935    ["Offset of field: UpdaterBuild::name"][::std::mem::offset_of!(UpdaterBuild, name) - 0usize];
6936    ["Offset of field: UpdaterBuild::path"][::std::mem::offset_of!(UpdaterBuild, path) - 8usize];
6937};
6938#[repr(C)]
6939#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
6940pub struct UpdaterInfo {
6941    pub info: *const ::std::os::raw::c_char,
6942    pub numBuilds: ::std::os::raw::c_int,
6943    pub builds: [UpdaterBuild; 2usize],
6944}
6945#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6946const _: () = {
6947    ["Size of UpdaterInfo"][::std::mem::size_of::<UpdaterInfo>() - 48usize];
6948    ["Alignment of UpdaterInfo"][::std::mem::align_of::<UpdaterInfo>() - 8usize];
6949    ["Offset of field: UpdaterInfo::info"][::std::mem::offset_of!(UpdaterInfo, info) - 0usize];
6950    ["Offset of field: UpdaterInfo::numBuilds"]
6951        [::std::mem::offset_of!(UpdaterInfo, numBuilds) - 8usize];
6952    ["Offset of field: UpdaterInfo::builds"][::std::mem::offset_of!(UpdaterInfo, builds) - 16usize];
6953};
6954extern "C" {
6955    pub fn DynamicLib_Load2(path: *const cc_string) -> *mut ::std::os::raw::c_void;
6956}
6957extern "C" {
6958    pub fn DynamicLib_Get2(
6959        lib: *mut ::std::os::raw::c_void,
6960        name: *const ::std::os::raw::c_char,
6961    ) -> *mut ::std::os::raw::c_void;
6962}
6963extern "C" {
6964    pub fn DynamicLib_DescribeError(dst: *mut cc_string) -> cc_bool;
6965}
6966extern "C" {
6967    pub fn DynamicLib_Load(
6968        path: *const cc_string,
6969        lib: *mut *mut ::std::os::raw::c_void,
6970    ) -> cc_result;
6971}
6972extern "C" {
6973    pub fn DynamicLib_Get(
6974        lib: *mut ::std::os::raw::c_void,
6975        name: *const ::std::os::raw::c_char,
6976        symbol: *mut *mut ::std::os::raw::c_void,
6977    ) -> cc_result;
6978}
6979#[repr(C)]
6980#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
6981pub struct DynamicLibSym {
6982    pub name: *const ::std::os::raw::c_char,
6983    pub symAddr: *mut *mut ::std::os::raw::c_void,
6984}
6985#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6986const _: () = {
6987    ["Size of DynamicLibSym"][::std::mem::size_of::<DynamicLibSym>() - 16usize];
6988    ["Alignment of DynamicLibSym"][::std::mem::align_of::<DynamicLibSym>() - 8usize];
6989    ["Offset of field: DynamicLibSym::name"][::std::mem::offset_of!(DynamicLibSym, name) - 0usize];
6990    ["Offset of field: DynamicLibSym::symAddr"]
6991        [::std::mem::offset_of!(DynamicLibSym, symAddr) - 8usize];
6992};
6993extern "C" {
6994    pub fn Mem_TryAlloc(numElems: cc_uint32, elemsSize: cc_uint32) -> *mut ::std::os::raw::c_void;
6995}
6996extern "C" {
6997    pub fn Mem_TryAllocCleared(
6998        numElems: cc_uint32,
6999        elemsSize: cc_uint32,
7000    ) -> *mut ::std::os::raw::c_void;
7001}
7002extern "C" {
7003    pub fn Mem_TryRealloc(
7004        mem: *mut ::std::os::raw::c_void,
7005        numElems: cc_uint32,
7006        elemsSize: cc_uint32,
7007    ) -> *mut ::std::os::raw::c_void;
7008}
7009extern "C" {
7010    pub fn Mem_Alloc(
7011        numElems: cc_uint32,
7012        elemsSize: cc_uint32,
7013        place: *const ::std::os::raw::c_char,
7014    ) -> *mut ::std::os::raw::c_void;
7015}
7016extern "C" {
7017    pub fn Mem_AllocCleared(
7018        numElems: cc_uint32,
7019        elemsSize: cc_uint32,
7020        place: *const ::std::os::raw::c_char,
7021    ) -> *mut ::std::os::raw::c_void;
7022}
7023extern "C" {
7024    pub fn Mem_Realloc(
7025        mem: *mut ::std::os::raw::c_void,
7026        numElems: cc_uint32,
7027        elemsSize: cc_uint32,
7028        place: *const ::std::os::raw::c_char,
7029    ) -> *mut ::std::os::raw::c_void;
7030}
7031extern "C" {
7032    pub fn Mem_Free(mem: *mut ::std::os::raw::c_void);
7033}
7034extern "C" {
7035    pub fn DateTime_CurrentUTC() -> TimeMS;
7036}
7037extern "C" {
7038    pub fn DateTime_CurrentLocal(t: *mut DateTime);
7039}
7040extern "C" {
7041    pub fn Stopwatch_Measure() -> cc_uint64;
7042}
7043extern "C" {
7044    pub fn Stopwatch_ElapsedMicroseconds(beg: cc_uint64, end: cc_uint64) -> cc_uint64;
7045}
7046pub type cc_file = *mut ::std::os::raw::c_void;
7047pub const File_SeekFrom_FILE_SEEKFROM_BEGIN: File_SeekFrom = 0;
7048pub const File_SeekFrom_FILE_SEEKFROM_CURRENT: File_SeekFrom = 1;
7049pub const File_SeekFrom_FILE_SEEKFROM_END: File_SeekFrom = 2;
7050pub type File_SeekFrom = ::std::os::raw::c_int;
7051pub type Directory_EnumCallback = ::std::option::Option<
7052    unsafe extern "C" fn(
7053        filename: *const cc_string,
7054        obj: *mut ::std::os::raw::c_void,
7055        isDirectory: ::std::os::raw::c_int,
7056    ),
7057>;
7058extern "C" {
7059    pub fn Directory_Enum(
7060        path: *const cc_string,
7061        obj: *mut ::std::os::raw::c_void,
7062        callback: Directory_EnumCallback,
7063    ) -> cc_result;
7064}
7065pub type Thread_StartFunc = ::std::option::Option<unsafe extern "C" fn()>;
7066extern "C" {
7067    pub fn Thread_Sleep(milliseconds: cc_uint32);
7068}
7069extern "C" {
7070    pub fn Thread_Run(
7071        handle: *mut *mut ::std::os::raw::c_void,
7072        func: Thread_StartFunc,
7073        stackSize: ::std::os::raw::c_int,
7074        name: *const ::std::os::raw::c_char,
7075    );
7076}
7077extern "C" {
7078    pub fn Thread_Detach(handle: *mut ::std::os::raw::c_void);
7079}
7080extern "C" {
7081    pub fn Thread_Join(handle: *mut ::std::os::raw::c_void);
7082}
7083extern "C" {
7084    pub fn Mutex_Create(name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_void;
7085}
7086extern "C" {
7087    pub fn Mutex_Free(handle: *mut ::std::os::raw::c_void);
7088}
7089extern "C" {
7090    pub fn Mutex_Lock(handle: *mut ::std::os::raw::c_void);
7091}
7092extern "C" {
7093    pub fn Mutex_Unlock(handle: *mut ::std::os::raw::c_void);
7094}
7095extern "C" {
7096    pub fn Waitable_Create(name: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_void;
7097}
7098extern "C" {
7099    pub fn Waitable_Free(handle: *mut ::std::os::raw::c_void);
7100}
7101extern "C" {
7102    pub fn Waitable_Signal(handle: *mut ::std::os::raw::c_void);
7103}
7104extern "C" {
7105    pub fn Waitable_Wait(handle: *mut ::std::os::raw::c_void);
7106}
7107extern "C" {
7108    pub fn Waitable_WaitFor(handle: *mut ::std::os::raw::c_void, milliseconds: cc_uint32);
7109}
7110pub type cc_socket = cc_uintptr;
7111#[repr(C)]
7112#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7113pub struct cc_sockaddr_ {
7114    pub size: ::std::os::raw::c_int,
7115    pub data: [cc_uint8; 512usize],
7116}
7117#[allow(clippy::unnecessary_operation, clippy::identity_op)]
7118const _: () = {
7119    ["Size of cc_sockaddr_"][::std::mem::size_of::<cc_sockaddr_>() - 516usize];
7120    ["Alignment of cc_sockaddr_"][::std::mem::align_of::<cc_sockaddr_>() - 4usize];
7121    ["Offset of field: cc_sockaddr_::size"][::std::mem::offset_of!(cc_sockaddr_, size) - 0usize];
7122    ["Offset of field: cc_sockaddr_::data"][::std::mem::offset_of!(cc_sockaddr_, data) - 4usize];
7123};
7124pub type cc_sockaddr = cc_sockaddr_;
7125pub const Socket_PollMode_SOCKET_POLL_READ: Socket_PollMode = 0;
7126pub const Socket_PollMode_SOCKET_POLL_WRITE: Socket_PollMode = 1;
7127pub type Socket_PollMode = ::std::os::raw::c_int;
7128pub const OPCODE__OPCODE_HANDSHAKE: OPCODE_ = 0;
7129pub const OPCODE__OPCODE_PING: OPCODE_ = 1;
7130pub const OPCODE__OPCODE_LEVEL_BEGIN: OPCODE_ = 2;
7131pub const OPCODE__OPCODE_LEVEL_DATA: OPCODE_ = 3;
7132pub const OPCODE__OPCODE_LEVEL_END: OPCODE_ = 4;
7133pub const OPCODE__OPCODE_SET_BLOCK_CLIENT: OPCODE_ = 5;
7134pub const OPCODE__OPCODE_SET_BLOCK: OPCODE_ = 6;
7135pub const OPCODE__OPCODE_ADD_ENTITY: OPCODE_ = 7;
7136pub const OPCODE__OPCODE_ENTITY_TELEPORT: OPCODE_ = 8;
7137pub const OPCODE__OPCODE_RELPOS_AND_ORI_UPDATE: OPCODE_ = 9;
7138pub const OPCODE__OPCODE_RELPOS_UPDATE: OPCODE_ = 10;
7139pub const OPCODE__OPCODE_ORI_UPDATE: OPCODE_ = 11;
7140pub const OPCODE__OPCODE_REMOVE_ENTITY: OPCODE_ = 12;
7141pub const OPCODE__OPCODE_MESSAGE: OPCODE_ = 13;
7142pub const OPCODE__OPCODE_KICK: OPCODE_ = 14;
7143pub const OPCODE__OPCODE_SET_PERMISSION: OPCODE_ = 15;
7144pub const OPCODE__OPCODE_EXT_INFO: OPCODE_ = 16;
7145pub const OPCODE__OPCODE_EXT_ENTRY: OPCODE_ = 17;
7146pub const OPCODE__OPCODE_SET_REACH: OPCODE_ = 18;
7147pub const OPCODE__OPCODE_CUSTOM_BLOCK_LEVEL: OPCODE_ = 19;
7148pub const OPCODE__OPCODE_HOLD_THIS: OPCODE_ = 20;
7149pub const OPCODE__OPCODE_SET_TEXT_HOTKEY: OPCODE_ = 21;
7150pub const OPCODE__OPCODE_EXT_ADD_PLAYER_NAME: OPCODE_ = 22;
7151pub const OPCODE__OPCODE_EXT_ADD_ENTITY: OPCODE_ = 23;
7152pub const OPCODE__OPCODE_EXT_REMOVE_PLAYER_NAME: OPCODE_ = 24;
7153pub const OPCODE__OPCODE_ENV_SET_COLOR: OPCODE_ = 25;
7154pub const OPCODE__OPCODE_MAKE_SELECTION: OPCODE_ = 26;
7155pub const OPCODE__OPCODE_REMOVE_SELECTION: OPCODE_ = 27;
7156pub const OPCODE__OPCODE_SET_BLOCK_PERMISSION: OPCODE_ = 28;
7157pub const OPCODE__OPCODE_SET_MODEL: OPCODE_ = 29;
7158pub const OPCODE__OPCODE_ENV_SET_MAP_APPEARANCE: OPCODE_ = 30;
7159pub const OPCODE__OPCODE_ENV_SET_WEATHER: OPCODE_ = 31;
7160pub const OPCODE__OPCODE_HACK_CONTROL: OPCODE_ = 32;
7161pub const OPCODE__OPCODE_EXT_ADD_ENTITY2: OPCODE_ = 33;
7162pub const OPCODE__OPCODE_PLAYER_CLICK: OPCODE_ = 34;
7163pub const OPCODE__OPCODE_DEFINE_BLOCK: OPCODE_ = 35;
7164pub const OPCODE__OPCODE_UNDEFINE_BLOCK: OPCODE_ = 36;
7165pub const OPCODE__OPCODE_DEFINE_BLOCK_EXT: OPCODE_ = 37;
7166pub const OPCODE__OPCODE_BULK_BLOCK_UPDATE: OPCODE_ = 38;
7167pub const OPCODE__OPCODE_SET_TEXT_COLOR: OPCODE_ = 39;
7168pub const OPCODE__OPCODE_ENV_SET_MAP_URL: OPCODE_ = 40;
7169pub const OPCODE__OPCODE_ENV_SET_MAP_PROPERTY: OPCODE_ = 41;
7170pub const OPCODE__OPCODE_SET_ENTITY_PROPERTY: OPCODE_ = 42;
7171pub const OPCODE__OPCODE_TWO_WAY_PING: OPCODE_ = 43;
7172pub const OPCODE__OPCODE_SET_INVENTORY_ORDER: OPCODE_ = 44;
7173pub const OPCODE__OPCODE_SET_HOTBAR: OPCODE_ = 45;
7174pub const OPCODE__OPCODE_SET_SPAWNPOINT: OPCODE_ = 46;
7175pub const OPCODE__OPCODE_VELOCITY_CONTROL: OPCODE_ = 47;
7176pub const OPCODE__OPCODE_DEFINE_EFFECT: OPCODE_ = 48;
7177pub const OPCODE__OPCODE_SPAWN_EFFECT: OPCODE_ = 49;
7178pub const OPCODE__OPCODE_DEFINE_MODEL: OPCODE_ = 50;
7179pub const OPCODE__OPCODE_DEFINE_MODEL_PART: OPCODE_ = 51;
7180pub const OPCODE__OPCODE_UNDEFINE_MODEL: OPCODE_ = 52;
7181pub const OPCODE__OPCODE_PLUGIN_MESSAGE: OPCODE_ = 53;
7182pub const OPCODE__OPCODE_ENTITY_TELEPORT_EXT: OPCODE_ = 54;
7183pub const OPCODE__OPCODE_LIGHTING_MODE: OPCODE_ = 55;
7184pub const OPCODE__OPCODE_CINEMATIC_GUI: OPCODE_ = 56;
7185pub const OPCODE__OPCODE_COUNT: OPCODE_ = 57;
7186pub type OPCODE_ = ::std::os::raw::c_int;
7187pub const PROTOCOL_VERSION__PROTOCOL_0017: PROTOCOL_VERSION_ = 4;
7188pub const PROTOCOL_VERSION__PROTOCOL_0019: PROTOCOL_VERSION_ = 5;
7189pub const PROTOCOL_VERSION__PROTOCOL_0020: PROTOCOL_VERSION_ = 6;
7190pub const PROTOCOL_VERSION__PROTOCOL_0030: PROTOCOL_VERSION_ = 7;
7191pub type PROTOCOL_VERSION_ = ::std::os::raw::c_int;
7192pub type Net_Handler = ::std::option::Option<unsafe extern "C" fn(data: *mut cc_uint8)>;
7193#[repr(C)]
7194#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7195pub struct _ProtocolData {
7196    pub Sizes: [cc_uint16; 256usize],
7197    pub Handlers: [Net_Handler; 256usize],
7198}
7199#[allow(clippy::unnecessary_operation, clippy::identity_op)]
7200const _: () = {
7201    ["Size of _ProtocolData"][::std::mem::size_of::<_ProtocolData>() - 2560usize];
7202    ["Alignment of _ProtocolData"][::std::mem::align_of::<_ProtocolData>() - 8usize];
7203    ["Offset of field: _ProtocolData::Sizes"]
7204        [::std::mem::offset_of!(_ProtocolData, Sizes) - 0usize];
7205    ["Offset of field: _ProtocolData::Handlers"]
7206        [::std::mem::offset_of!(_ProtocolData, Handlers) - 512usize];
7207};
7208#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
7209    pub static mut Protocol: _ProtocolData;
7210}
7211extern "C" {
7212    pub fn CPE_SendPluginMessage(channel: cc_uint8, data: *mut cc_uint8);
7213}
7214#[repr(C)]
7215#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7216pub struct Queue {
7217    pub entries: *mut cc_uint8,
7218    pub structSize: ::std::os::raw::c_int,
7219    pub capacity: ::std::os::raw::c_int,
7220    pub mask: ::std::os::raw::c_int,
7221    pub count: ::std::os::raw::c_int,
7222    pub head: ::std::os::raw::c_int,
7223    pub tail: ::std::os::raw::c_int,
7224}
7225#[allow(clippy::unnecessary_operation, clippy::identity_op)]
7226const _: () = {
7227    ["Size of Queue"][::std::mem::size_of::<Queue>() - 32usize];
7228    ["Alignment of Queue"][::std::mem::align_of::<Queue>() - 8usize];
7229    ["Offset of field: Queue::entries"][::std::mem::offset_of!(Queue, entries) - 0usize];
7230    ["Offset of field: Queue::structSize"][::std::mem::offset_of!(Queue, structSize) - 8usize];
7231    ["Offset of field: Queue::capacity"][::std::mem::offset_of!(Queue, capacity) - 12usize];
7232    ["Offset of field: Queue::mask"][::std::mem::offset_of!(Queue, mask) - 16usize];
7233    ["Offset of field: Queue::count"][::std::mem::offset_of!(Queue, count) - 20usize];
7234    ["Offset of field: Queue::head"][::std::mem::offset_of!(Queue, head) - 24usize];
7235    ["Offset of field: Queue::tail"][::std::mem::offset_of!(Queue, tail) - 28usize];
7236};
7237pub type FetcherErrorCallback = ::std::option::Option<unsafe extern "C" fn(req: *mut HttpRequest)>;
7238extern "C" {
7239    pub fn Selections_Add(id: cc_uint8, p1: *const IVec3, p2: *const IVec3, color: PackedCol);
7240}
7241extern "C" {
7242    pub fn Selections_Remove(id: cc_uint8);
7243}
7244#[repr(C)]
7245#[derive(Debug, Hash, PartialEq, Eq)]
7246pub struct _ServerConnectionData {
7247    pub BeginConnect: ::std::option::Option<unsafe extern "C" fn()>,
7248    pub Tick: ::std::option::Option<unsafe extern "C" fn(task: *mut ScheduledTask)>,
7249    pub SendBlock: ::std::option::Option<
7250        unsafe extern "C" fn(
7251            x: ::std::os::raw::c_int,
7252            y: ::std::os::raw::c_int,
7253            z: ::std::os::raw::c_int,
7254            old: BlockID,
7255            now: BlockID,
7256        ),
7257    >,
7258    pub SendChat: ::std::option::Option<unsafe extern "C" fn(text: *const cc_string)>,
7259    pub __Unused: ::std::option::Option<unsafe extern "C" fn()>,
7260    pub SendData:
7261        ::std::option::Option<unsafe extern "C" fn(data: *const cc_uint8, len: cc_uint32)>,
7262    pub Name: cc_string,
7263    pub MOTD: cc_string,
7264    pub AppName: cc_string,
7265    pub ___unused: *mut cc_uint8,
7266    pub IsSinglePlayer: cc_bool,
7267    pub Disconnected: cc_bool,
7268    pub SupportsExtPlayerList: cc_bool,
7269    pub SupportsPlayerClick: cc_bool,
7270    pub SupportsPartialMessages: cc_bool,
7271    pub SupportsFullCP437: cc_bool,
7272    pub Address: cc_string,
7273    pub Port: ::std::os::raw::c_int,
7274}
7275#[allow(clippy::unnecessary_operation, clippy::identity_op)]
7276const _: () = {
7277    ["Size of _ServerConnectionData"][::std::mem::size_of::<_ServerConnectionData>() - 136usize];
7278    ["Alignment of _ServerConnectionData"]
7279        [::std::mem::align_of::<_ServerConnectionData>() - 8usize];
7280    ["Offset of field: _ServerConnectionData::BeginConnect"]
7281        [::std::mem::offset_of!(_ServerConnectionData, BeginConnect) - 0usize];
7282    ["Offset of field: _ServerConnectionData::Tick"]
7283        [::std::mem::offset_of!(_ServerConnectionData, Tick) - 8usize];
7284    ["Offset of field: _ServerConnectionData::SendBlock"]
7285        [::std::mem::offset_of!(_ServerConnectionData, SendBlock) - 16usize];
7286    ["Offset of field: _ServerConnectionData::SendChat"]
7287        [::std::mem::offset_of!(_ServerConnectionData, SendChat) - 24usize];
7288    ["Offset of field: _ServerConnectionData::__Unused"]
7289        [::std::mem::offset_of!(_ServerConnectionData, __Unused) - 32usize];
7290    ["Offset of field: _ServerConnectionData::SendData"]
7291        [::std::mem::offset_of!(_ServerConnectionData, SendData) - 40usize];
7292    ["Offset of field: _ServerConnectionData::Name"]
7293        [::std::mem::offset_of!(_ServerConnectionData, Name) - 48usize];
7294    ["Offset of field: _ServerConnectionData::MOTD"]
7295        [::std::mem::offset_of!(_ServerConnectionData, MOTD) - 64usize];
7296    ["Offset of field: _ServerConnectionData::AppName"]
7297        [::std::mem::offset_of!(_ServerConnectionData, AppName) - 80usize];
7298    ["Offset of field: _ServerConnectionData::___unused"]
7299        [::std::mem::offset_of!(_ServerConnectionData, ___unused) - 96usize];
7300    ["Offset of field: _ServerConnectionData::IsSinglePlayer"]
7301        [::std::mem::offset_of!(_ServerConnectionData, IsSinglePlayer) - 104usize];
7302    ["Offset of field: _ServerConnectionData::Disconnected"]
7303        [::std::mem::offset_of!(_ServerConnectionData, Disconnected) - 105usize];
7304    ["Offset of field: _ServerConnectionData::SupportsExtPlayerList"]
7305        [::std::mem::offset_of!(_ServerConnectionData, SupportsExtPlayerList) - 106usize];
7306    ["Offset of field: _ServerConnectionData::SupportsPlayerClick"]
7307        [::std::mem::offset_of!(_ServerConnectionData, SupportsPlayerClick) - 107usize];
7308    ["Offset of field: _ServerConnectionData::SupportsPartialMessages"]
7309        [::std::mem::offset_of!(_ServerConnectionData, SupportsPartialMessages) - 108usize];
7310    ["Offset of field: _ServerConnectionData::SupportsFullCP437"]
7311        [::std::mem::offset_of!(_ServerConnectionData, SupportsFullCP437) - 109usize];
7312    ["Offset of field: _ServerConnectionData::Address"]
7313        [::std::mem::offset_of!(_ServerConnectionData, Address) - 112usize];
7314    ["Offset of field: _ServerConnectionData::Port"]
7315        [::std::mem::offset_of!(_ServerConnectionData, Port) - 128usize];
7316};
7317#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
7318    pub static mut Server: _ServerConnectionData;
7319}
7320#[repr(C)]
7321#[derive(Copy, Clone)]
7322pub struct Stream {
7323    pub Read: ::std::option::Option<
7324        unsafe extern "C" fn(
7325            s: *mut Stream,
7326            data: *mut cc_uint8,
7327            count: cc_uint32,
7328            modified: *mut cc_uint32,
7329        ) -> cc_result,
7330    >,
7331    pub ReadU8: ::std::option::Option<
7332        unsafe extern "C" fn(s: *mut Stream, data: *mut cc_uint8) -> cc_result,
7333    >,
7334    pub Write: ::std::option::Option<
7335        unsafe extern "C" fn(
7336            s: *mut Stream,
7337            data: *const cc_uint8,
7338            count: cc_uint32,
7339            modified: *mut cc_uint32,
7340        ) -> cc_result,
7341    >,
7342    pub Skip:
7343        ::std::option::Option<unsafe extern "C" fn(s: *mut Stream, count: cc_uint32) -> cc_result>,
7344    pub Seek: ::std::option::Option<
7345        unsafe extern "C" fn(s: *mut Stream, position: cc_uint32) -> cc_result,
7346    >,
7347    pub Position: ::std::option::Option<
7348        unsafe extern "C" fn(s: *mut Stream, position: *mut cc_uint32) -> cc_result,
7349    >,
7350    pub Length: ::std::option::Option<
7351        unsafe extern "C" fn(s: *mut Stream, length: *mut cc_uint32) -> cc_result,
7352    >,
7353    pub Close: ::std::option::Option<unsafe extern "C" fn(s: *mut Stream) -> cc_result>,
7354    pub meta: Stream__bindgen_ty_1,
7355}
7356#[repr(C)]
7357#[derive(Copy, Clone)]
7358pub union Stream__bindgen_ty_1 {
7359    pub file: cc_file,
7360    pub inflate: *mut ::std::os::raw::c_void,
7361    pub mem: Stream__bindgen_ty_1__bindgen_ty_1,
7362    pub portion: Stream__bindgen_ty_1__bindgen_ty_2,
7363    pub buffered: Stream__bindgen_ty_1__bindgen_ty_3,
7364    pub crc32: Stream__bindgen_ty_1__bindgen_ty_4,
7365}
7366#[repr(C)]
7367#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7368pub struct Stream__bindgen_ty_1__bindgen_ty_1 {
7369    pub cur: *mut cc_uint8,
7370    pub left: cc_uint32,
7371    pub length: cc_uint32,
7372    pub base: *mut cc_uint8,
7373}
7374#[allow(clippy::unnecessary_operation, clippy::identity_op)]
7375const _: () = {
7376    ["Size of Stream__bindgen_ty_1__bindgen_ty_1"]
7377        [::std::mem::size_of::<Stream__bindgen_ty_1__bindgen_ty_1>() - 24usize];
7378    ["Alignment of Stream__bindgen_ty_1__bindgen_ty_1"]
7379        [::std::mem::align_of::<Stream__bindgen_ty_1__bindgen_ty_1>() - 8usize];
7380    ["Offset of field: Stream__bindgen_ty_1__bindgen_ty_1::cur"]
7381        [::std::mem::offset_of!(Stream__bindgen_ty_1__bindgen_ty_1, cur) - 0usize];
7382    ["Offset of field: Stream__bindgen_ty_1__bindgen_ty_1::left"]
7383        [::std::mem::offset_of!(Stream__bindgen_ty_1__bindgen_ty_1, left) - 8usize];
7384    ["Offset of field: Stream__bindgen_ty_1__bindgen_ty_1::length"]
7385        [::std::mem::offset_of!(Stream__bindgen_ty_1__bindgen_ty_1, length) - 12usize];
7386    ["Offset of field: Stream__bindgen_ty_1__bindgen_ty_1::base"]
7387        [::std::mem::offset_of!(Stream__bindgen_ty_1__bindgen_ty_1, base) - 16usize];
7388};
7389#[repr(C)]
7390#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7391pub struct Stream__bindgen_ty_1__bindgen_ty_2 {
7392    pub source: *mut Stream,
7393    pub left: cc_uint32,
7394    pub length: cc_uint32,
7395}
7396#[allow(clippy::unnecessary_operation, clippy::identity_op)]
7397const _: () = {
7398    ["Size of Stream__bindgen_ty_1__bindgen_ty_2"]
7399        [::std::mem::size_of::<Stream__bindgen_ty_1__bindgen_ty_2>() - 16usize];
7400    ["Alignment of Stream__bindgen_ty_1__bindgen_ty_2"]
7401        [::std::mem::align_of::<Stream__bindgen_ty_1__bindgen_ty_2>() - 8usize];
7402    ["Offset of field: Stream__bindgen_ty_1__bindgen_ty_2::source"]
7403        [::std::mem::offset_of!(Stream__bindgen_ty_1__bindgen_ty_2, source) - 0usize];
7404    ["Offset of field: Stream__bindgen_ty_1__bindgen_ty_2::left"]
7405        [::std::mem::offset_of!(Stream__bindgen_ty_1__bindgen_ty_2, left) - 8usize];
7406    ["Offset of field: Stream__bindgen_ty_1__bindgen_ty_2::length"]
7407        [::std::mem::offset_of!(Stream__bindgen_ty_1__bindgen_ty_2, length) - 12usize];
7408};
7409#[repr(C)]
7410#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7411pub struct Stream__bindgen_ty_1__bindgen_ty_3 {
7412    pub cur: *mut cc_uint8,
7413    pub left: cc_uint32,
7414    pub length: cc_uint32,
7415    pub base: *mut cc_uint8,
7416    pub source: *mut Stream,
7417    pub end: cc_uint32,
7418}
7419#[allow(clippy::unnecessary_operation, clippy::identity_op)]
7420const _: () = {
7421    ["Size of Stream__bindgen_ty_1__bindgen_ty_3"]
7422        [::std::mem::size_of::<Stream__bindgen_ty_1__bindgen_ty_3>() - 40usize];
7423    ["Alignment of Stream__bindgen_ty_1__bindgen_ty_3"]
7424        [::std::mem::align_of::<Stream__bindgen_ty_1__bindgen_ty_3>() - 8usize];
7425    ["Offset of field: Stream__bindgen_ty_1__bindgen_ty_3::cur"]
7426        [::std::mem::offset_of!(Stream__bindgen_ty_1__bindgen_ty_3, cur) - 0usize];
7427    ["Offset of field: Stream__bindgen_ty_1__bindgen_ty_3::left"]
7428        [::std::mem::offset_of!(Stream__bindgen_ty_1__bindgen_ty_3, left) - 8usize];
7429    ["Offset of field: Stream__bindgen_ty_1__bindgen_ty_3::length"]
7430        [::std::mem::offset_of!(Stream__bindgen_ty_1__bindgen_ty_3, length) - 12usize];
7431    ["Offset of field: Stream__bindgen_ty_1__bindgen_ty_3::base"]
7432        [::std::mem::offset_of!(Stream__bindgen_ty_1__bindgen_ty_3, base) - 16usize];
7433    ["Offset of field: Stream__bindgen_ty_1__bindgen_ty_3::source"]
7434        [::std::mem::offset_of!(Stream__bindgen_ty_1__bindgen_ty_3, source) - 24usize];
7435    ["Offset of field: Stream__bindgen_ty_1__bindgen_ty_3::end"]
7436        [::std::mem::offset_of!(Stream__bindgen_ty_1__bindgen_ty_3, end) - 32usize];
7437};
7438#[repr(C)]
7439#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7440pub struct Stream__bindgen_ty_1__bindgen_ty_4 {
7441    pub source: *mut Stream,
7442    pub crc32: cc_uint32,
7443}
7444#[allow(clippy::unnecessary_operation, clippy::identity_op)]
7445const _: () = {
7446    ["Size of Stream__bindgen_ty_1__bindgen_ty_4"]
7447        [::std::mem::size_of::<Stream__bindgen_ty_1__bindgen_ty_4>() - 16usize];
7448    ["Alignment of Stream__bindgen_ty_1__bindgen_ty_4"]
7449        [::std::mem::align_of::<Stream__bindgen_ty_1__bindgen_ty_4>() - 8usize];
7450    ["Offset of field: Stream__bindgen_ty_1__bindgen_ty_4::source"]
7451        [::std::mem::offset_of!(Stream__bindgen_ty_1__bindgen_ty_4, source) - 0usize];
7452    ["Offset of field: Stream__bindgen_ty_1__bindgen_ty_4::crc32"]
7453        [::std::mem::offset_of!(Stream__bindgen_ty_1__bindgen_ty_4, crc32) - 8usize];
7454};
7455#[allow(clippy::unnecessary_operation, clippy::identity_op)]
7456const _: () = {
7457    ["Size of Stream__bindgen_ty_1"][::std::mem::size_of::<Stream__bindgen_ty_1>() - 40usize];
7458    ["Alignment of Stream__bindgen_ty_1"][::std::mem::align_of::<Stream__bindgen_ty_1>() - 8usize];
7459    ["Offset of field: Stream__bindgen_ty_1::file"]
7460        [::std::mem::offset_of!(Stream__bindgen_ty_1, file) - 0usize];
7461    ["Offset of field: Stream__bindgen_ty_1::inflate"]
7462        [::std::mem::offset_of!(Stream__bindgen_ty_1, inflate) - 0usize];
7463    ["Offset of field: Stream__bindgen_ty_1::mem"]
7464        [::std::mem::offset_of!(Stream__bindgen_ty_1, mem) - 0usize];
7465    ["Offset of field: Stream__bindgen_ty_1::portion"]
7466        [::std::mem::offset_of!(Stream__bindgen_ty_1, portion) - 0usize];
7467    ["Offset of field: Stream__bindgen_ty_1::buffered"]
7468        [::std::mem::offset_of!(Stream__bindgen_ty_1, buffered) - 0usize];
7469    ["Offset of field: Stream__bindgen_ty_1::crc32"]
7470        [::std::mem::offset_of!(Stream__bindgen_ty_1, crc32) - 0usize];
7471};
7472#[allow(clippy::unnecessary_operation, clippy::identity_op)]
7473const _: () = {
7474    ["Size of Stream"][::std::mem::size_of::<Stream>() - 104usize];
7475    ["Alignment of Stream"][::std::mem::align_of::<Stream>() - 8usize];
7476    ["Offset of field: Stream::Read"][::std::mem::offset_of!(Stream, Read) - 0usize];
7477    ["Offset of field: Stream::ReadU8"][::std::mem::offset_of!(Stream, ReadU8) - 8usize];
7478    ["Offset of field: Stream::Write"][::std::mem::offset_of!(Stream, Write) - 16usize];
7479    ["Offset of field: Stream::Skip"][::std::mem::offset_of!(Stream, Skip) - 24usize];
7480    ["Offset of field: Stream::Seek"][::std::mem::offset_of!(Stream, Seek) - 32usize];
7481    ["Offset of field: Stream::Position"][::std::mem::offset_of!(Stream, Position) - 40usize];
7482    ["Offset of field: Stream::Length"][::std::mem::offset_of!(Stream, Length) - 48usize];
7483    ["Offset of field: Stream::Close"][::std::mem::offset_of!(Stream, Close) - 56usize];
7484    ["Offset of field: Stream::meta"][::std::mem::offset_of!(Stream, meta) - 64usize];
7485};
7486extern "C" {
7487    pub fn Stream_Read(s: *mut Stream, buffer: *mut cc_uint8, count: cc_uint32) -> cc_result;
7488}
7489pub type FP_Stream_Read = ::std::option::Option<
7490    unsafe extern "C" fn(s: *mut Stream, buffer: *mut cc_uint8, count: cc_uint32) -> cc_result,
7491>;
7492extern "C" {
7493    pub fn Stream_Write(s: *mut Stream, buffer: *const cc_uint8, count: cc_uint32) -> cc_result;
7494}
7495pub type FP_Stream_Write = ::std::option::Option<
7496    unsafe extern "C" fn(s: *mut Stream, buffer: *const cc_uint8, count: cc_uint32) -> cc_result,
7497>;
7498extern "C" {
7499    pub fn Stream_OpenFile(s: *mut Stream, path: *const cc_string) -> cc_result;
7500}
7501pub type FP_Stream_OpenFile = ::std::option::Option<
7502    unsafe extern "C" fn(s: *mut Stream, path: *const cc_string) -> cc_result,
7503>;
7504extern "C" {
7505    pub fn Stream_CreateFile(s: *mut Stream, path: *const cc_string) -> cc_result;
7506}
7507pub type FP_Stream_CreateFile = ::std::option::Option<
7508    unsafe extern "C" fn(s: *mut Stream, path: *const cc_string) -> cc_result,
7509>;
7510extern "C" {
7511    pub fn Stream_FromFile(s: *mut Stream, file: cc_file);
7512}
7513extern "C" {
7514    pub fn Stream_ReadonlyPortion(s: *mut Stream, source: *mut Stream, len: cc_uint32);
7515}
7516extern "C" {
7517    pub fn Stream_ReadonlyMemory(s: *mut Stream, data: *mut ::std::os::raw::c_void, len: cc_uint32);
7518}
7519extern "C" {
7520    pub fn Stream_ReadonlyBuffered(
7521        s: *mut Stream,
7522        source: *mut Stream,
7523        data: *mut ::std::os::raw::c_void,
7524        size: cc_uint32,
7525    );
7526}
7527extern "C" {
7528    pub fn Stream_ReadLine(s: *mut Stream, text: *mut cc_string) -> cc_result;
7529}
7530extern "C" {
7531    pub fn Stream_WriteLine(s: *mut Stream, text: *mut cc_string) -> cc_result;
7532}
7533pub type FallbackFont_Plotter = ::std::option::Option<
7534    unsafe extern "C" fn(
7535        x: ::std::os::raw::c_int,
7536        y: ::std::os::raw::c_int,
7537        ctx: *mut ::std::os::raw::c_void,
7538    ),
7539>;
7540pub type SysFont_RegisterCallback =
7541    ::std::option::Option<unsafe extern "C" fn(path: *const cc_string)>;
7542extern "C" {
7543    pub fn SysFonts_GetNames(buffer: *mut StringsBuffer);
7544}
7545#[repr(C)]
7546#[derive(Debug, Hash, PartialEq, Eq)]
7547pub struct _Atlas2DData {
7548    pub Bmp: Bitmap,
7549    pub TileSize: ::std::os::raw::c_int,
7550    pub RowsCount: ::std::os::raw::c_int,
7551}
7552#[allow(clippy::unnecessary_operation, clippy::identity_op)]
7553const _: () = {
7554    ["Size of _Atlas2DData"][::std::mem::size_of::<_Atlas2DData>() - 24usize];
7555    ["Alignment of _Atlas2DData"][::std::mem::align_of::<_Atlas2DData>() - 8usize];
7556    ["Offset of field: _Atlas2DData::Bmp"][::std::mem::offset_of!(_Atlas2DData, Bmp) - 0usize];
7557    ["Offset of field: _Atlas2DData::TileSize"]
7558        [::std::mem::offset_of!(_Atlas2DData, TileSize) - 16usize];
7559    ["Offset of field: _Atlas2DData::RowsCount"]
7560        [::std::mem::offset_of!(_Atlas2DData, RowsCount) - 20usize];
7561};
7562#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
7563    pub static mut Atlas2D: _Atlas2DData;
7564}
7565#[repr(C)]
7566#[derive(Debug, Copy, Clone, PartialEq)]
7567pub struct _Atlas1DData {
7568    pub Count: ::std::os::raw::c_int,
7569    pub TilesPerAtlas: ::std::os::raw::c_int,
7570    pub Mask: ::std::os::raw::c_int,
7571    pub Shift: ::std::os::raw::c_int,
7572    pub InvTileSize: f32,
7573    pub TexIds: [GfxResourceID; 512usize],
7574}
7575#[allow(clippy::unnecessary_operation, clippy::identity_op)]
7576const _: () = {
7577    ["Size of _Atlas1DData"][::std::mem::size_of::<_Atlas1DData>() - 4120usize];
7578    ["Alignment of _Atlas1DData"][::std::mem::align_of::<_Atlas1DData>() - 8usize];
7579    ["Offset of field: _Atlas1DData::Count"][::std::mem::offset_of!(_Atlas1DData, Count) - 0usize];
7580    ["Offset of field: _Atlas1DData::TilesPerAtlas"]
7581        [::std::mem::offset_of!(_Atlas1DData, TilesPerAtlas) - 4usize];
7582    ["Offset of field: _Atlas1DData::Mask"][::std::mem::offset_of!(_Atlas1DData, Mask) - 8usize];
7583    ["Offset of field: _Atlas1DData::Shift"][::std::mem::offset_of!(_Atlas1DData, Shift) - 12usize];
7584    ["Offset of field: _Atlas1DData::InvTileSize"]
7585        [::std::mem::offset_of!(_Atlas1DData, InvTileSize) - 16usize];
7586    ["Offset of field: _Atlas1DData::TexIds"]
7587        [::std::mem::offset_of!(_Atlas1DData, TexIds) - 24usize];
7588};
7589#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
7590    pub static mut Atlas1D: _Atlas1DData;
7591}
7592extern "C" {
7593    pub fn TexturePack_Extract(url: *const cc_string);
7594}
7595pub type DefaultZipCallback =
7596    ::std::option::Option<unsafe extern "C" fn(path: *const cc_string) -> cc_result>;
7597#[repr(C)]
7598#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7599pub struct TextureEntry {
7600    pub filename: *const ::std::os::raw::c_char,
7601    pub Callback:
7602        ::std::option::Option<unsafe extern "C" fn(stream: *mut Stream, name: *const cc_string)>,
7603    pub next: *mut TextureEntry,
7604}
7605#[allow(clippy::unnecessary_operation, clippy::identity_op)]
7606const _: () = {
7607    ["Size of TextureEntry"][::std::mem::size_of::<TextureEntry>() - 24usize];
7608    ["Alignment of TextureEntry"][::std::mem::align_of::<TextureEntry>() - 8usize];
7609    ["Offset of field: TextureEntry::filename"]
7610        [::std::mem::offset_of!(TextureEntry, filename) - 0usize];
7611    ["Offset of field: TextureEntry::Callback"]
7612        [::std::mem::offset_of!(TextureEntry, Callback) - 8usize];
7613    ["Offset of field: TextureEntry::next"][::std::mem::offset_of!(TextureEntry, next) - 16usize];
7614};
7615#[repr(C)]
7616#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7617pub struct DateTime {
7618    pub year: ::std::os::raw::c_int,
7619    pub month: ::std::os::raw::c_int,
7620    pub day: ::std::os::raw::c_int,
7621    pub hour: ::std::os::raw::c_int,
7622    pub minute: ::std::os::raw::c_int,
7623    pub second: ::std::os::raw::c_int,
7624    pub __milli: ::std::os::raw::c_int,
7625}
7626#[allow(clippy::unnecessary_operation, clippy::identity_op)]
7627const _: () = {
7628    ["Size of DateTime"][::std::mem::size_of::<DateTime>() - 28usize];
7629    ["Alignment of DateTime"][::std::mem::align_of::<DateTime>() - 4usize];
7630    ["Offset of field: DateTime::year"][::std::mem::offset_of!(DateTime, year) - 0usize];
7631    ["Offset of field: DateTime::month"][::std::mem::offset_of!(DateTime, month) - 4usize];
7632    ["Offset of field: DateTime::day"][::std::mem::offset_of!(DateTime, day) - 8usize];
7633    ["Offset of field: DateTime::hour"][::std::mem::offset_of!(DateTime, hour) - 12usize];
7634    ["Offset of field: DateTime::minute"][::std::mem::offset_of!(DateTime, minute) - 16usize];
7635    ["Offset of field: DateTime::second"][::std::mem::offset_of!(DateTime, second) - 20usize];
7636    ["Offset of field: DateTime::__milli"][::std::mem::offset_of!(DateTime, __milli) - 24usize];
7637};
7638pub type EntryList_Filter =
7639    ::std::option::Option<unsafe extern "C" fn(entry: *const cc_string) -> cc_bool>;
7640pub const WindowState_WINDOW_STATE_NORMAL: WindowState = 0;
7641pub const WindowState_WINDOW_STATE_FULLSCREEN: WindowState = 1;
7642pub const WindowState_WINDOW_STATE_MINIMISED: WindowState = 2;
7643pub type WindowState = ::std::os::raw::c_int;
7644pub const SoftKeyboard_SOFT_KEYBOARD_NONE: SoftKeyboard = 0;
7645pub const SoftKeyboard_SOFT_KEYBOARD_RESIZE: SoftKeyboard = 1;
7646pub const SoftKeyboard_SOFT_KEYBOARD_SHIFT: SoftKeyboard = 2;
7647pub const SoftKeyboard_SOFT_KEYBOARD_VIRTUAL: SoftKeyboard = 3;
7648pub type SoftKeyboard = ::std::os::raw::c_int;
7649pub const KeyboardType_KEYBOARD_TYPE_TEXT: KeyboardType = 0;
7650pub const KeyboardType_KEYBOARD_TYPE_NUMBER: KeyboardType = 1;
7651pub const KeyboardType_KEYBOARD_TYPE_PASSWORD: KeyboardType = 2;
7652pub const KeyboardType_KEYBOARD_TYPE_INTEGER: KeyboardType = 3;
7653pub type KeyboardType = ::std::os::raw::c_int;
7654#[repr(C)]
7655#[derive(Debug, Copy, Clone, PartialEq)]
7656pub struct _DisplayData {
7657    pub Depth: ::std::os::raw::c_int,
7658    pub ScaleX: f32,
7659    pub ScaleY: f32,
7660    pub x: ::std::os::raw::c_int,
7661    pub y: ::std::os::raw::c_int,
7662    pub Width: ::std::os::raw::c_int,
7663    pub Height: ::std::os::raw::c_int,
7664    pub DPIScaling: cc_bool,
7665    pub ShowingSoftKeyboard: cc_bool,
7666    pub CursorVisible: cc_bool,
7667    pub FullRedraw: cc_bool,
7668    pub ContentOffsetX: ::std::os::raw::c_int,
7669    pub ContentOffsetY: ::std::os::raw::c_int,
7670}
7671#[allow(clippy::unnecessary_operation, clippy::identity_op)]
7672const _: () = {
7673    ["Size of _DisplayData"][::std::mem::size_of::<_DisplayData>() - 40usize];
7674    ["Alignment of _DisplayData"][::std::mem::align_of::<_DisplayData>() - 4usize];
7675    ["Offset of field: _DisplayData::Depth"][::std::mem::offset_of!(_DisplayData, Depth) - 0usize];
7676    ["Offset of field: _DisplayData::ScaleX"]
7677        [::std::mem::offset_of!(_DisplayData, ScaleX) - 4usize];
7678    ["Offset of field: _DisplayData::ScaleY"]
7679        [::std::mem::offset_of!(_DisplayData, ScaleY) - 8usize];
7680    ["Offset of field: _DisplayData::x"][::std::mem::offset_of!(_DisplayData, x) - 12usize];
7681    ["Offset of field: _DisplayData::y"][::std::mem::offset_of!(_DisplayData, y) - 16usize];
7682    ["Offset of field: _DisplayData::Width"][::std::mem::offset_of!(_DisplayData, Width) - 20usize];
7683    ["Offset of field: _DisplayData::Height"]
7684        [::std::mem::offset_of!(_DisplayData, Height) - 24usize];
7685    ["Offset of field: _DisplayData::DPIScaling"]
7686        [::std::mem::offset_of!(_DisplayData, DPIScaling) - 28usize];
7687    ["Offset of field: _DisplayData::ShowingSoftKeyboard"]
7688        [::std::mem::offset_of!(_DisplayData, ShowingSoftKeyboard) - 29usize];
7689    ["Offset of field: _DisplayData::CursorVisible"]
7690        [::std::mem::offset_of!(_DisplayData, CursorVisible) - 30usize];
7691    ["Offset of field: _DisplayData::FullRedraw"]
7692        [::std::mem::offset_of!(_DisplayData, FullRedraw) - 31usize];
7693    ["Offset of field: _DisplayData::ContentOffsetX"]
7694        [::std::mem::offset_of!(_DisplayData, ContentOffsetX) - 32usize];
7695    ["Offset of field: _DisplayData::ContentOffsetY"]
7696        [::std::mem::offset_of!(_DisplayData, ContentOffsetY) - 36usize];
7697};
7698#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
7699    pub static mut DisplayInfo: _DisplayData;
7700}
7701#[repr(C)]
7702#[derive(Copy, Clone)]
7703pub struct cc_window {
7704    pub Handle: cc_pointer,
7705    pub Width: ::std::os::raw::c_int,
7706    pub Height: ::std::os::raw::c_int,
7707    pub Exists: cc_bool,
7708    pub Focused: cc_bool,
7709    pub SoftKeyboard: cc_uint8,
7710    pub Inactive: cc_bool,
7711    pub SoftKeyboardFocus: cc_bool,
7712    pub SoftKeyboardInstant: cc_uint8,
7713    pub UIScaleX: f32,
7714    pub UIScaleY: f32,
7715}
7716#[allow(clippy::unnecessary_operation, clippy::identity_op)]
7717const _: () = {
7718    ["Size of cc_window"][::std::mem::size_of::<cc_window>() - 32usize];
7719    ["Alignment of cc_window"][::std::mem::align_of::<cc_window>() - 8usize];
7720    ["Offset of field: cc_window::Handle"][::std::mem::offset_of!(cc_window, Handle) - 0usize];
7721    ["Offset of field: cc_window::Width"][::std::mem::offset_of!(cc_window, Width) - 8usize];
7722    ["Offset of field: cc_window::Height"][::std::mem::offset_of!(cc_window, Height) - 12usize];
7723    ["Offset of field: cc_window::Exists"][::std::mem::offset_of!(cc_window, Exists) - 16usize];
7724    ["Offset of field: cc_window::Focused"][::std::mem::offset_of!(cc_window, Focused) - 17usize];
7725    ["Offset of field: cc_window::SoftKeyboard"]
7726        [::std::mem::offset_of!(cc_window, SoftKeyboard) - 18usize];
7727    ["Offset of field: cc_window::Inactive"][::std::mem::offset_of!(cc_window, Inactive) - 19usize];
7728    ["Offset of field: cc_window::SoftKeyboardFocus"]
7729        [::std::mem::offset_of!(cc_window, SoftKeyboardFocus) - 20usize];
7730    ["Offset of field: cc_window::SoftKeyboardInstant"]
7731        [::std::mem::offset_of!(cc_window, SoftKeyboardInstant) - 21usize];
7732    ["Offset of field: cc_window::UIScaleX"][::std::mem::offset_of!(cc_window, UIScaleX) - 24usize];
7733    ["Offset of field: cc_window::UIScaleY"][::std::mem::offset_of!(cc_window, UIScaleY) - 28usize];
7734};
7735#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
7736    pub static mut WindowInfo: cc_window;
7737}
7738extern "C" {
7739    pub fn Window_SetTitle(title: *const cc_string);
7740}
7741extern "C" {
7742    pub fn Clipboard_GetText(value: *mut cc_string);
7743}
7744extern "C" {
7745    pub fn Clipboard_SetText(value: *const cc_string);
7746}
7747extern "C" {
7748    pub fn Window_ShowDialog(
7749        title: *const ::std::os::raw::c_char,
7750        msg: *const ::std::os::raw::c_char,
7751    );
7752}
7753pub type FileDialogCallback = ::std::option::Option<unsafe extern "C" fn(path: *const cc_string)>;
7754#[repr(C)]
7755#[derive(Debug, Hash, PartialEq, Eq)]
7756pub struct SaveFileDialogArgs {
7757    pub filters: *const *const ::std::os::raw::c_char,
7758    pub titles: *const *const ::std::os::raw::c_char,
7759    pub defaultName: cc_string,
7760    pub Callback: FileDialogCallback,
7761}
7762#[allow(clippy::unnecessary_operation, clippy::identity_op)]
7763const _: () = {
7764    ["Size of SaveFileDialogArgs"][::std::mem::size_of::<SaveFileDialogArgs>() - 40usize];
7765    ["Alignment of SaveFileDialogArgs"][::std::mem::align_of::<SaveFileDialogArgs>() - 8usize];
7766    ["Offset of field: SaveFileDialogArgs::filters"]
7767        [::std::mem::offset_of!(SaveFileDialogArgs, filters) - 0usize];
7768    ["Offset of field: SaveFileDialogArgs::titles"]
7769        [::std::mem::offset_of!(SaveFileDialogArgs, titles) - 8usize];
7770    ["Offset of field: SaveFileDialogArgs::defaultName"]
7771        [::std::mem::offset_of!(SaveFileDialogArgs, defaultName) - 16usize];
7772    ["Offset of field: SaveFileDialogArgs::Callback"]
7773        [::std::mem::offset_of!(SaveFileDialogArgs, Callback) - 32usize];
7774};
7775#[repr(C)]
7776#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7777pub struct OpenFileDialogArgs {
7778    pub description: *const ::std::os::raw::c_char,
7779    pub filters: *const *const ::std::os::raw::c_char,
7780    pub Callback: FileDialogCallback,
7781    pub uploadAction: ::std::os::raw::c_int,
7782    pub uploadFolder: *const ::std::os::raw::c_char,
7783}
7784#[allow(clippy::unnecessary_operation, clippy::identity_op)]
7785const _: () = {
7786    ["Size of OpenFileDialogArgs"][::std::mem::size_of::<OpenFileDialogArgs>() - 40usize];
7787    ["Alignment of OpenFileDialogArgs"][::std::mem::align_of::<OpenFileDialogArgs>() - 8usize];
7788    ["Offset of field: OpenFileDialogArgs::description"]
7789        [::std::mem::offset_of!(OpenFileDialogArgs, description) - 0usize];
7790    ["Offset of field: OpenFileDialogArgs::filters"]
7791        [::std::mem::offset_of!(OpenFileDialogArgs, filters) - 8usize];
7792    ["Offset of field: OpenFileDialogArgs::Callback"]
7793        [::std::mem::offset_of!(OpenFileDialogArgs, Callback) - 16usize];
7794    ["Offset of field: OpenFileDialogArgs::uploadAction"]
7795        [::std::mem::offset_of!(OpenFileDialogArgs, uploadAction) - 24usize];
7796    ["Offset of field: OpenFileDialogArgs::uploadFolder"]
7797        [::std::mem::offset_of!(OpenFileDialogArgs, uploadFolder) - 32usize];
7798};
7799#[repr(C)]
7800#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7801pub struct OpenKeyboardArgs {
7802    pub text: *const cc_string,
7803    pub type_: ::std::os::raw::c_int,
7804    pub yOffset: ::std::os::raw::c_int,
7805    pub placeholder: *const ::std::os::raw::c_char,
7806    pub opaque: cc_bool,
7807    pub multiline: cc_bool,
7808    pub device: *mut InputDevice,
7809}
7810#[allow(clippy::unnecessary_operation, clippy::identity_op)]
7811const _: () = {
7812    ["Size of OpenKeyboardArgs"][::std::mem::size_of::<OpenKeyboardArgs>() - 40usize];
7813    ["Alignment of OpenKeyboardArgs"][::std::mem::align_of::<OpenKeyboardArgs>() - 8usize];
7814    ["Offset of field: OpenKeyboardArgs::text"]
7815        [::std::mem::offset_of!(OpenKeyboardArgs, text) - 0usize];
7816    ["Offset of field: OpenKeyboardArgs::type_"]
7817        [::std::mem::offset_of!(OpenKeyboardArgs, type_) - 8usize];
7818    ["Offset of field: OpenKeyboardArgs::yOffset"]
7819        [::std::mem::offset_of!(OpenKeyboardArgs, yOffset) - 12usize];
7820    ["Offset of field: OpenKeyboardArgs::placeholder"]
7821        [::std::mem::offset_of!(OpenKeyboardArgs, placeholder) - 16usize];
7822    ["Offset of field: OpenKeyboardArgs::opaque"]
7823        [::std::mem::offset_of!(OpenKeyboardArgs, opaque) - 24usize];
7824    ["Offset of field: OpenKeyboardArgs::multiline"]
7825        [::std::mem::offset_of!(OpenKeyboardArgs, multiline) - 25usize];
7826    ["Offset of field: OpenKeyboardArgs::device"]
7827        [::std::mem::offset_of!(OpenKeyboardArgs, device) - 32usize];
7828};
7829#[repr(C)]
7830#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7831pub struct KBLayout {
7832    pub numRows: ::std::os::raw::c_int,
7833    pub cellsPerRow: ::std::os::raw::c_int,
7834    pub rowWidth: ::std::os::raw::c_int,
7835    pub lower: *mut *const ::std::os::raw::c_char,
7836    pub upper: *mut *const ::std::os::raw::c_char,
7837    pub table: *mut *const ::std::os::raw::c_char,
7838    pub behaviour: *const cc_uint8,
7839}
7840#[allow(clippy::unnecessary_operation, clippy::identity_op)]
7841const _: () = {
7842    ["Size of KBLayout"][::std::mem::size_of::<KBLayout>() - 48usize];
7843    ["Alignment of KBLayout"][::std::mem::align_of::<KBLayout>() - 8usize];
7844    ["Offset of field: KBLayout::numRows"][::std::mem::offset_of!(KBLayout, numRows) - 0usize];
7845    ["Offset of field: KBLayout::cellsPerRow"]
7846        [::std::mem::offset_of!(KBLayout, cellsPerRow) - 4usize];
7847    ["Offset of field: KBLayout::rowWidth"][::std::mem::offset_of!(KBLayout, rowWidth) - 8usize];
7848    ["Offset of field: KBLayout::lower"][::std::mem::offset_of!(KBLayout, lower) - 16usize];
7849    ["Offset of field: KBLayout::upper"][::std::mem::offset_of!(KBLayout, upper) - 24usize];
7850    ["Offset of field: KBLayout::table"][::std::mem::offset_of!(KBLayout, table) - 32usize];
7851    ["Offset of field: KBLayout::behaviour"][::std::mem::offset_of!(KBLayout, behaviour) - 40usize];
7852};
7853#[repr(C)]
7854#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7855pub struct OggState {
7856    pub cur: *mut cc_uint8,
7857    pub left: cc_uint32,
7858    pub last: cc_uint32,
7859    pub source: *mut Stream,
7860    pub segmentsRead: ::std::os::raw::c_int,
7861    pub numSegments: ::std::os::raw::c_int,
7862    pub buffer: [cc_uint8; 65280usize],
7863    pub segments: [cc_uint8; 255usize],
7864}
7865#[allow(clippy::unnecessary_operation, clippy::identity_op)]
7866const _: () = {
7867    ["Size of OggState"][::std::mem::size_of::<OggState>() - 65568usize];
7868    ["Alignment of OggState"][::std::mem::align_of::<OggState>() - 8usize];
7869    ["Offset of field: OggState::cur"][::std::mem::offset_of!(OggState, cur) - 0usize];
7870    ["Offset of field: OggState::left"][::std::mem::offset_of!(OggState, left) - 8usize];
7871    ["Offset of field: OggState::last"][::std::mem::offset_of!(OggState, last) - 12usize];
7872    ["Offset of field: OggState::source"][::std::mem::offset_of!(OggState, source) - 16usize];
7873    ["Offset of field: OggState::segmentsRead"]
7874        [::std::mem::offset_of!(OggState, segmentsRead) - 24usize];
7875    ["Offset of field: OggState::numSegments"]
7876        [::std::mem::offset_of!(OggState, numSegments) - 28usize];
7877    ["Offset of field: OggState::buffer"][::std::mem::offset_of!(OggState, buffer) - 32usize];
7878    ["Offset of field: OggState::segments"]
7879        [::std::mem::offset_of!(OggState, segments) - 65312usize];
7880};
7881#[repr(C)]
7882#[derive(Debug, Copy, Clone)]
7883pub struct Codebook {
7884    _unused: [u8; 0],
7885}
7886#[repr(C)]
7887#[derive(Debug, Copy, Clone)]
7888pub struct Floor {
7889    _unused: [u8; 0],
7890}
7891#[repr(C)]
7892#[derive(Debug, Copy, Clone)]
7893pub struct Residue {
7894    _unused: [u8; 0],
7895}
7896#[repr(C)]
7897#[derive(Debug, Copy, Clone)]
7898pub struct Mapping {
7899    _unused: [u8; 0],
7900}
7901#[repr(C)]
7902#[derive(Debug, Copy, Clone)]
7903pub struct Mode {
7904    _unused: [u8; 0],
7905}
7906#[repr(C)]
7907#[derive(Debug, Copy, Clone, PartialEq)]
7908pub struct imdct_state {
7909    pub n: ::std::os::raw::c_int,
7910    pub log2_n: ::std::os::raw::c_int,
7911    pub a: [f32; 4096usize],
7912    pub b: [f32; 4096usize],
7913    pub c: [f32; 2048usize],
7914    pub reversed: [cc_uint32; 1024usize],
7915}
7916#[allow(clippy::unnecessary_operation, clippy::identity_op)]
7917const _: () = {
7918    ["Size of imdct_state"][::std::mem::size_of::<imdct_state>() - 45064usize];
7919    ["Alignment of imdct_state"][::std::mem::align_of::<imdct_state>() - 4usize];
7920    ["Offset of field: imdct_state::n"][::std::mem::offset_of!(imdct_state, n) - 0usize];
7921    ["Offset of field: imdct_state::log2_n"][::std::mem::offset_of!(imdct_state, log2_n) - 4usize];
7922    ["Offset of field: imdct_state::a"][::std::mem::offset_of!(imdct_state, a) - 8usize];
7923    ["Offset of field: imdct_state::b"][::std::mem::offset_of!(imdct_state, b) - 16392usize];
7924    ["Offset of field: imdct_state::c"][::std::mem::offset_of!(imdct_state, c) - 32776usize];
7925    ["Offset of field: imdct_state::reversed"]
7926        [::std::mem::offset_of!(imdct_state, reversed) - 40968usize];
7927};
7928#[repr(C)]
7929#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
7930pub struct VorbisWindow {
7931    pub Prev: *mut f32,
7932    pub Cur: *mut f32,
7933}
7934#[allow(clippy::unnecessary_operation, clippy::identity_op)]
7935const _: () = {
7936    ["Size of VorbisWindow"][::std::mem::size_of::<VorbisWindow>() - 16usize];
7937    ["Alignment of VorbisWindow"][::std::mem::align_of::<VorbisWindow>() - 8usize];
7938    ["Offset of field: VorbisWindow::Prev"][::std::mem::offset_of!(VorbisWindow, Prev) - 0usize];
7939    ["Offset of field: VorbisWindow::Cur"][::std::mem::offset_of!(VorbisWindow, Cur) - 8usize];
7940};
7941#[repr(C)]
7942#[derive(Debug, Copy, Clone, PartialEq)]
7943pub struct VorbisState {
7944    pub Bits: cc_uint32,
7945    pub NumBits: cc_uint32,
7946    pub source: *mut OggState,
7947    pub channels: cc_uint8,
7948    pub modeNumBits: cc_uint8,
7949    pub curBlockSize: cc_uint16,
7950    pub prevBlockSize: cc_uint16,
7951    pub dataSize: cc_uint16,
7952    pub numCodebooks: cc_uint16,
7953    pub sampleRate: ::std::os::raw::c_int,
7954    pub blockSizes: [::std::os::raw::c_int; 2usize],
7955    pub temp: *mut f32,
7956    pub values: [*mut f32; 2usize],
7957    pub prevOutput: [*mut f32; 8usize],
7958    pub curOutput: [*mut f32; 8usize],
7959    pub codebooks: *mut Codebook,
7960    pub floors: *mut Floor,
7961    pub residues: *mut Residue,
7962    pub mappings: *mut Mapping,
7963    pub modes: *mut Mode,
7964    pub windowRaw: *mut f32,
7965    pub windows: [VorbisWindow; 2usize],
7966    pub imdct: [imdct_state; 2usize],
7967}
7968#[allow(clippy::unnecessary_operation, clippy::identity_op)]
7969const _: () = {
7970    ["Size of VorbisState"][::std::mem::size_of::<VorbisState>() - 90400usize];
7971    ["Alignment of VorbisState"][::std::mem::align_of::<VorbisState>() - 8usize];
7972    ["Offset of field: VorbisState::Bits"][::std::mem::offset_of!(VorbisState, Bits) - 0usize];
7973    ["Offset of field: VorbisState::NumBits"]
7974        [::std::mem::offset_of!(VorbisState, NumBits) - 4usize];
7975    ["Offset of field: VorbisState::source"][::std::mem::offset_of!(VorbisState, source) - 8usize];
7976    ["Offset of field: VorbisState::channels"]
7977        [::std::mem::offset_of!(VorbisState, channels) - 16usize];
7978    ["Offset of field: VorbisState::modeNumBits"]
7979        [::std::mem::offset_of!(VorbisState, modeNumBits) - 17usize];
7980    ["Offset of field: VorbisState::curBlockSize"]
7981        [::std::mem::offset_of!(VorbisState, curBlockSize) - 18usize];
7982    ["Offset of field: VorbisState::prevBlockSize"]
7983        [::std::mem::offset_of!(VorbisState, prevBlockSize) - 20usize];
7984    ["Offset of field: VorbisState::dataSize"]
7985        [::std::mem::offset_of!(VorbisState, dataSize) - 22usize];
7986    ["Offset of field: VorbisState::numCodebooks"]
7987        [::std::mem::offset_of!(VorbisState, numCodebooks) - 24usize];
7988    ["Offset of field: VorbisState::sampleRate"]
7989        [::std::mem::offset_of!(VorbisState, sampleRate) - 28usize];
7990    ["Offset of field: VorbisState::blockSizes"]
7991        [::std::mem::offset_of!(VorbisState, blockSizes) - 32usize];
7992    ["Offset of field: VorbisState::temp"][::std::mem::offset_of!(VorbisState, temp) - 40usize];
7993    ["Offset of field: VorbisState::values"][::std::mem::offset_of!(VorbisState, values) - 48usize];
7994    ["Offset of field: VorbisState::prevOutput"]
7995        [::std::mem::offset_of!(VorbisState, prevOutput) - 64usize];
7996    ["Offset of field: VorbisState::curOutput"]
7997        [::std::mem::offset_of!(VorbisState, curOutput) - 128usize];
7998    ["Offset of field: VorbisState::codebooks"]
7999        [::std::mem::offset_of!(VorbisState, codebooks) - 192usize];
8000    ["Offset of field: VorbisState::floors"]
8001        [::std::mem::offset_of!(VorbisState, floors) - 200usize];
8002    ["Offset of field: VorbisState::residues"]
8003        [::std::mem::offset_of!(VorbisState, residues) - 208usize];
8004    ["Offset of field: VorbisState::mappings"]
8005        [::std::mem::offset_of!(VorbisState, mappings) - 216usize];
8006    ["Offset of field: VorbisState::modes"][::std::mem::offset_of!(VorbisState, modes) - 224usize];
8007    ["Offset of field: VorbisState::windowRaw"]
8008        [::std::mem::offset_of!(VorbisState, windowRaw) - 232usize];
8009    ["Offset of field: VorbisState::windows"]
8010        [::std::mem::offset_of!(VorbisState, windows) - 240usize];
8011    ["Offset of field: VorbisState::imdct"][::std::mem::offset_of!(VorbisState, imdct) - 272usize];
8012};
8013#[repr(C)]
8014pub struct TextWidget {
8015    pub VTABLE: *const WidgetVTABLE,
8016    pub x: ::std::os::raw::c_int,
8017    pub y: ::std::os::raw::c_int,
8018    pub width: ::std::os::raw::c_int,
8019    pub height: ::std::os::raw::c_int,
8020    pub active: cc_bool,
8021    pub flags: cc_uint8,
8022    pub horAnchor: cc_uint8,
8023    pub verAnchor: cc_uint8,
8024    pub xOffset: ::std::os::raw::c_int,
8025    pub yOffset: ::std::os::raw::c_int,
8026    pub MenuClick: Widget_LeftClick,
8027    pub meta: cc_pointer,
8028    pub tex: Texture,
8029    pub color: PackedCol,
8030}
8031#[allow(clippy::unnecessary_operation, clippy::identity_op)]
8032const _: () = {
8033    ["Size of TextWidget"][::std::mem::size_of::<TextWidget>() - 96usize];
8034    ["Alignment of TextWidget"][::std::mem::align_of::<TextWidget>() - 8usize];
8035    ["Offset of field: TextWidget::VTABLE"][::std::mem::offset_of!(TextWidget, VTABLE) - 0usize];
8036    ["Offset of field: TextWidget::x"][::std::mem::offset_of!(TextWidget, x) - 8usize];
8037    ["Offset of field: TextWidget::y"][::std::mem::offset_of!(TextWidget, y) - 12usize];
8038    ["Offset of field: TextWidget::width"][::std::mem::offset_of!(TextWidget, width) - 16usize];
8039    ["Offset of field: TextWidget::height"][::std::mem::offset_of!(TextWidget, height) - 20usize];
8040    ["Offset of field: TextWidget::active"][::std::mem::offset_of!(TextWidget, active) - 24usize];
8041    ["Offset of field: TextWidget::flags"][::std::mem::offset_of!(TextWidget, flags) - 25usize];
8042    ["Offset of field: TextWidget::horAnchor"]
8043        [::std::mem::offset_of!(TextWidget, horAnchor) - 26usize];
8044    ["Offset of field: TextWidget::verAnchor"]
8045        [::std::mem::offset_of!(TextWidget, verAnchor) - 27usize];
8046    ["Offset of field: TextWidget::xOffset"][::std::mem::offset_of!(TextWidget, xOffset) - 28usize];
8047    ["Offset of field: TextWidget::yOffset"][::std::mem::offset_of!(TextWidget, yOffset) - 32usize];
8048    ["Offset of field: TextWidget::MenuClick"]
8049        [::std::mem::offset_of!(TextWidget, MenuClick) - 40usize];
8050    ["Offset of field: TextWidget::meta"][::std::mem::offset_of!(TextWidget, meta) - 48usize];
8051    ["Offset of field: TextWidget::tex"][::std::mem::offset_of!(TextWidget, tex) - 56usize];
8052    ["Offset of field: TextWidget::color"][::std::mem::offset_of!(TextWidget, color) - 88usize];
8053};
8054#[repr(C)]
8055pub struct ButtonWidget {
8056    pub VTABLE: *const WidgetVTABLE,
8057    pub x: ::std::os::raw::c_int,
8058    pub y: ::std::os::raw::c_int,
8059    pub width: ::std::os::raw::c_int,
8060    pub height: ::std::os::raw::c_int,
8061    pub active: cc_bool,
8062    pub flags: cc_uint8,
8063    pub horAnchor: cc_uint8,
8064    pub verAnchor: cc_uint8,
8065    pub xOffset: ::std::os::raw::c_int,
8066    pub yOffset: ::std::os::raw::c_int,
8067    pub MenuClick: Widget_LeftClick,
8068    pub meta: cc_pointer,
8069    pub tex: Texture,
8070    pub color: PackedCol,
8071    pub minWidth: ::std::os::raw::c_int,
8072    pub minHeight: ::std::os::raw::c_int,
8073    pub optName: *const ::std::os::raw::c_char,
8074}
8075#[allow(clippy::unnecessary_operation, clippy::identity_op)]
8076const _: () = {
8077    ["Size of ButtonWidget"][::std::mem::size_of::<ButtonWidget>() - 112usize];
8078    ["Alignment of ButtonWidget"][::std::mem::align_of::<ButtonWidget>() - 8usize];
8079    ["Offset of field: ButtonWidget::VTABLE"]
8080        [::std::mem::offset_of!(ButtonWidget, VTABLE) - 0usize];
8081    ["Offset of field: ButtonWidget::x"][::std::mem::offset_of!(ButtonWidget, x) - 8usize];
8082    ["Offset of field: ButtonWidget::y"][::std::mem::offset_of!(ButtonWidget, y) - 12usize];
8083    ["Offset of field: ButtonWidget::width"][::std::mem::offset_of!(ButtonWidget, width) - 16usize];
8084    ["Offset of field: ButtonWidget::height"]
8085        [::std::mem::offset_of!(ButtonWidget, height) - 20usize];
8086    ["Offset of field: ButtonWidget::active"]
8087        [::std::mem::offset_of!(ButtonWidget, active) - 24usize];
8088    ["Offset of field: ButtonWidget::flags"][::std::mem::offset_of!(ButtonWidget, flags) - 25usize];
8089    ["Offset of field: ButtonWidget::horAnchor"]
8090        [::std::mem::offset_of!(ButtonWidget, horAnchor) - 26usize];
8091    ["Offset of field: ButtonWidget::verAnchor"]
8092        [::std::mem::offset_of!(ButtonWidget, verAnchor) - 27usize];
8093    ["Offset of field: ButtonWidget::xOffset"]
8094        [::std::mem::offset_of!(ButtonWidget, xOffset) - 28usize];
8095    ["Offset of field: ButtonWidget::yOffset"]
8096        [::std::mem::offset_of!(ButtonWidget, yOffset) - 32usize];
8097    ["Offset of field: ButtonWidget::MenuClick"]
8098        [::std::mem::offset_of!(ButtonWidget, MenuClick) - 40usize];
8099    ["Offset of field: ButtonWidget::meta"][::std::mem::offset_of!(ButtonWidget, meta) - 48usize];
8100    ["Offset of field: ButtonWidget::tex"][::std::mem::offset_of!(ButtonWidget, tex) - 56usize];
8101    ["Offset of field: ButtonWidget::color"][::std::mem::offset_of!(ButtonWidget, color) - 88usize];
8102    ["Offset of field: ButtonWidget::minWidth"]
8103        [::std::mem::offset_of!(ButtonWidget, minWidth) - 92usize];
8104    ["Offset of field: ButtonWidget::minHeight"]
8105        [::std::mem::offset_of!(ButtonWidget, minHeight) - 96usize];
8106    ["Offset of field: ButtonWidget::optName"]
8107        [::std::mem::offset_of!(ButtonWidget, optName) - 104usize];
8108};
8109#[repr(C)]
8110#[derive(Copy, Clone)]
8111pub struct ScrollbarWidget {
8112    pub VTABLE: *const WidgetVTABLE,
8113    pub x: ::std::os::raw::c_int,
8114    pub y: ::std::os::raw::c_int,
8115    pub width: ::std::os::raw::c_int,
8116    pub height: ::std::os::raw::c_int,
8117    pub active: cc_bool,
8118    pub flags: cc_uint8,
8119    pub horAnchor: cc_uint8,
8120    pub verAnchor: cc_uint8,
8121    pub xOffset: ::std::os::raw::c_int,
8122    pub yOffset: ::std::os::raw::c_int,
8123    pub MenuClick: Widget_LeftClick,
8124    pub meta: cc_pointer,
8125    pub topRow: ::std::os::raw::c_int,
8126    pub rowsTotal: ::std::os::raw::c_int,
8127    pub rowsVisible: ::std::os::raw::c_int,
8128    pub scrollingAcc: f32,
8129    pub dragOffset: ::std::os::raw::c_int,
8130    pub draggingId: ::std::os::raw::c_int,
8131    pub padding: ::std::os::raw::c_int,
8132    pub borderX: ::std::os::raw::c_int,
8133    pub borderY: ::std::os::raw::c_int,
8134    pub nubsWidth: ::std::os::raw::c_int,
8135    pub offsets: [::std::os::raw::c_int; 3usize],
8136}
8137#[allow(clippy::unnecessary_operation, clippy::identity_op)]
8138const _: () = {
8139    ["Size of ScrollbarWidget"][::std::mem::size_of::<ScrollbarWidget>() - 112usize];
8140    ["Alignment of ScrollbarWidget"][::std::mem::align_of::<ScrollbarWidget>() - 8usize];
8141    ["Offset of field: ScrollbarWidget::VTABLE"]
8142        [::std::mem::offset_of!(ScrollbarWidget, VTABLE) - 0usize];
8143    ["Offset of field: ScrollbarWidget::x"][::std::mem::offset_of!(ScrollbarWidget, x) - 8usize];
8144    ["Offset of field: ScrollbarWidget::y"][::std::mem::offset_of!(ScrollbarWidget, y) - 12usize];
8145    ["Offset of field: ScrollbarWidget::width"]
8146        [::std::mem::offset_of!(ScrollbarWidget, width) - 16usize];
8147    ["Offset of field: ScrollbarWidget::height"]
8148        [::std::mem::offset_of!(ScrollbarWidget, height) - 20usize];
8149    ["Offset of field: ScrollbarWidget::active"]
8150        [::std::mem::offset_of!(ScrollbarWidget, active) - 24usize];
8151    ["Offset of field: ScrollbarWidget::flags"]
8152        [::std::mem::offset_of!(ScrollbarWidget, flags) - 25usize];
8153    ["Offset of field: ScrollbarWidget::horAnchor"]
8154        [::std::mem::offset_of!(ScrollbarWidget, horAnchor) - 26usize];
8155    ["Offset of field: ScrollbarWidget::verAnchor"]
8156        [::std::mem::offset_of!(ScrollbarWidget, verAnchor) - 27usize];
8157    ["Offset of field: ScrollbarWidget::xOffset"]
8158        [::std::mem::offset_of!(ScrollbarWidget, xOffset) - 28usize];
8159    ["Offset of field: ScrollbarWidget::yOffset"]
8160        [::std::mem::offset_of!(ScrollbarWidget, yOffset) - 32usize];
8161    ["Offset of field: ScrollbarWidget::MenuClick"]
8162        [::std::mem::offset_of!(ScrollbarWidget, MenuClick) - 40usize];
8163    ["Offset of field: ScrollbarWidget::meta"]
8164        [::std::mem::offset_of!(ScrollbarWidget, meta) - 48usize];
8165    ["Offset of field: ScrollbarWidget::topRow"]
8166        [::std::mem::offset_of!(ScrollbarWidget, topRow) - 56usize];
8167    ["Offset of field: ScrollbarWidget::rowsTotal"]
8168        [::std::mem::offset_of!(ScrollbarWidget, rowsTotal) - 60usize];
8169    ["Offset of field: ScrollbarWidget::rowsVisible"]
8170        [::std::mem::offset_of!(ScrollbarWidget, rowsVisible) - 64usize];
8171    ["Offset of field: ScrollbarWidget::scrollingAcc"]
8172        [::std::mem::offset_of!(ScrollbarWidget, scrollingAcc) - 68usize];
8173    ["Offset of field: ScrollbarWidget::dragOffset"]
8174        [::std::mem::offset_of!(ScrollbarWidget, dragOffset) - 72usize];
8175    ["Offset of field: ScrollbarWidget::draggingId"]
8176        [::std::mem::offset_of!(ScrollbarWidget, draggingId) - 76usize];
8177    ["Offset of field: ScrollbarWidget::padding"]
8178        [::std::mem::offset_of!(ScrollbarWidget, padding) - 80usize];
8179    ["Offset of field: ScrollbarWidget::borderX"]
8180        [::std::mem::offset_of!(ScrollbarWidget, borderX) - 84usize];
8181    ["Offset of field: ScrollbarWidget::borderY"]
8182        [::std::mem::offset_of!(ScrollbarWidget, borderY) - 88usize];
8183    ["Offset of field: ScrollbarWidget::nubsWidth"]
8184        [::std::mem::offset_of!(ScrollbarWidget, nubsWidth) - 92usize];
8185    ["Offset of field: ScrollbarWidget::offsets"]
8186        [::std::mem::offset_of!(ScrollbarWidget, offsets) - 96usize];
8187};
8188#[repr(C)]
8189pub struct HotbarWidget {
8190    pub VTABLE: *const WidgetVTABLE,
8191    pub x: ::std::os::raw::c_int,
8192    pub y: ::std::os::raw::c_int,
8193    pub width: ::std::os::raw::c_int,
8194    pub height: ::std::os::raw::c_int,
8195    pub active: cc_bool,
8196    pub flags: cc_uint8,
8197    pub horAnchor: cc_uint8,
8198    pub verAnchor: cc_uint8,
8199    pub xOffset: ::std::os::raw::c_int,
8200    pub yOffset: ::std::os::raw::c_int,
8201    pub MenuClick: Widget_LeftClick,
8202    pub meta: cc_pointer,
8203    pub selTex: Texture,
8204    pub backTex: Texture,
8205    pub slotWidth: f32,
8206    pub selWidth: f32,
8207    pub slotXOffset: f32,
8208    pub elemSize: f32,
8209    pub scrollAcc: f32,
8210    pub scale: f32,
8211    pub altHandled: cc_bool,
8212    pub ellipsisTex: Texture,
8213    pub state: [::std::os::raw::c_int; 27usize],
8214    pub verticesCount: ::std::os::raw::c_int,
8215    pub touchId: [::std::os::raw::c_int; 8usize],
8216    pub touchTime: [f32; 8usize],
8217}
8218#[allow(clippy::unnecessary_operation, clippy::identity_op)]
8219const _: () = {
8220    ["Size of HotbarWidget"][::std::mem::size_of::<HotbarWidget>() - 360usize];
8221    ["Alignment of HotbarWidget"][::std::mem::align_of::<HotbarWidget>() - 8usize];
8222    ["Offset of field: HotbarWidget::VTABLE"]
8223        [::std::mem::offset_of!(HotbarWidget, VTABLE) - 0usize];
8224    ["Offset of field: HotbarWidget::x"][::std::mem::offset_of!(HotbarWidget, x) - 8usize];
8225    ["Offset of field: HotbarWidget::y"][::std::mem::offset_of!(HotbarWidget, y) - 12usize];
8226    ["Offset of field: HotbarWidget::width"][::std::mem::offset_of!(HotbarWidget, width) - 16usize];
8227    ["Offset of field: HotbarWidget::height"]
8228        [::std::mem::offset_of!(HotbarWidget, height) - 20usize];
8229    ["Offset of field: HotbarWidget::active"]
8230        [::std::mem::offset_of!(HotbarWidget, active) - 24usize];
8231    ["Offset of field: HotbarWidget::flags"][::std::mem::offset_of!(HotbarWidget, flags) - 25usize];
8232    ["Offset of field: HotbarWidget::horAnchor"]
8233        [::std::mem::offset_of!(HotbarWidget, horAnchor) - 26usize];
8234    ["Offset of field: HotbarWidget::verAnchor"]
8235        [::std::mem::offset_of!(HotbarWidget, verAnchor) - 27usize];
8236    ["Offset of field: HotbarWidget::xOffset"]
8237        [::std::mem::offset_of!(HotbarWidget, xOffset) - 28usize];
8238    ["Offset of field: HotbarWidget::yOffset"]
8239        [::std::mem::offset_of!(HotbarWidget, yOffset) - 32usize];
8240    ["Offset of field: HotbarWidget::MenuClick"]
8241        [::std::mem::offset_of!(HotbarWidget, MenuClick) - 40usize];
8242    ["Offset of field: HotbarWidget::meta"][::std::mem::offset_of!(HotbarWidget, meta) - 48usize];
8243    ["Offset of field: HotbarWidget::selTex"]
8244        [::std::mem::offset_of!(HotbarWidget, selTex) - 56usize];
8245    ["Offset of field: HotbarWidget::backTex"]
8246        [::std::mem::offset_of!(HotbarWidget, backTex) - 88usize];
8247    ["Offset of field: HotbarWidget::slotWidth"]
8248        [::std::mem::offset_of!(HotbarWidget, slotWidth) - 120usize];
8249    ["Offset of field: HotbarWidget::selWidth"]
8250        [::std::mem::offset_of!(HotbarWidget, selWidth) - 124usize];
8251    ["Offset of field: HotbarWidget::slotXOffset"]
8252        [::std::mem::offset_of!(HotbarWidget, slotXOffset) - 128usize];
8253    ["Offset of field: HotbarWidget::elemSize"]
8254        [::std::mem::offset_of!(HotbarWidget, elemSize) - 132usize];
8255    ["Offset of field: HotbarWidget::scrollAcc"]
8256        [::std::mem::offset_of!(HotbarWidget, scrollAcc) - 136usize];
8257    ["Offset of field: HotbarWidget::scale"]
8258        [::std::mem::offset_of!(HotbarWidget, scale) - 140usize];
8259    ["Offset of field: HotbarWidget::altHandled"]
8260        [::std::mem::offset_of!(HotbarWidget, altHandled) - 144usize];
8261    ["Offset of field: HotbarWidget::ellipsisTex"]
8262        [::std::mem::offset_of!(HotbarWidget, ellipsisTex) - 152usize];
8263    ["Offset of field: HotbarWidget::state"]
8264        [::std::mem::offset_of!(HotbarWidget, state) - 184usize];
8265    ["Offset of field: HotbarWidget::verticesCount"]
8266        [::std::mem::offset_of!(HotbarWidget, verticesCount) - 292usize];
8267    ["Offset of field: HotbarWidget::touchId"]
8268        [::std::mem::offset_of!(HotbarWidget, touchId) - 296usize];
8269    ["Offset of field: HotbarWidget::touchTime"]
8270        [::std::mem::offset_of!(HotbarWidget, touchTime) - 328usize];
8271};
8272#[repr(C)]
8273#[derive(Copy, Clone)]
8274pub struct TableWidget {
8275    pub VTABLE: *const WidgetVTABLE,
8276    pub x: ::std::os::raw::c_int,
8277    pub y: ::std::os::raw::c_int,
8278    pub width: ::std::os::raw::c_int,
8279    pub height: ::std::os::raw::c_int,
8280    pub active: cc_bool,
8281    pub flags: cc_uint8,
8282    pub horAnchor: cc_uint8,
8283    pub verAnchor: cc_uint8,
8284    pub xOffset: ::std::os::raw::c_int,
8285    pub yOffset: ::std::os::raw::c_int,
8286    pub MenuClick: Widget_LeftClick,
8287    pub meta: cc_pointer,
8288    pub blocksCount: ::std::os::raw::c_int,
8289    pub blocksPerRow: ::std::os::raw::c_int,
8290    pub rowsTotal: ::std::os::raw::c_int,
8291    pub rowsVisible: ::std::os::raw::c_int,
8292    pub lastCreatedIndex: ::std::os::raw::c_int,
8293    pub selectedIndex: ::std::os::raw::c_int,
8294    pub cellSizeX: ::std::os::raw::c_int,
8295    pub cellSizeY: ::std::os::raw::c_int,
8296    pub normBlockSize: f32,
8297    pub selBlockSize: f32,
8298    pub vb: GfxResourceID,
8299    pub pendingClose: cc_bool,
8300    pub everCreated: cc_bool,
8301    pub scale: f32,
8302    pub padXAcc: f32,
8303    pub padYAcc: f32,
8304    pub blocks: [BlockID; 768usize],
8305    pub scroll: ScrollbarWidget,
8306    pub lastX: ::std::os::raw::c_int,
8307    pub lastY: ::std::os::raw::c_int,
8308    pub paddingX: ::std::os::raw::c_int,
8309    pub paddingL: ::std::os::raw::c_int,
8310    pub paddingR: ::std::os::raw::c_int,
8311    pub paddingT: ::std::os::raw::c_int,
8312    pub paddingB: ::std::os::raw::c_int,
8313    pub UpdateTitle: ::std::option::Option<unsafe extern "C" fn(block: BlockID)>,
8314    pub state: [::std::os::raw::c_int; 240usize],
8315    pub verticesCount: ::std::os::raw::c_int,
8316}
8317#[allow(clippy::unnecessary_operation, clippy::identity_op)]
8318const _: () = {
8319    ["Size of TableWidget"][::std::mem::size_of::<TableWidget>() - 2776usize];
8320    ["Alignment of TableWidget"][::std::mem::align_of::<TableWidget>() - 8usize];
8321    ["Offset of field: TableWidget::VTABLE"][::std::mem::offset_of!(TableWidget, VTABLE) - 0usize];
8322    ["Offset of field: TableWidget::x"][::std::mem::offset_of!(TableWidget, x) - 8usize];
8323    ["Offset of field: TableWidget::y"][::std::mem::offset_of!(TableWidget, y) - 12usize];
8324    ["Offset of field: TableWidget::width"][::std::mem::offset_of!(TableWidget, width) - 16usize];
8325    ["Offset of field: TableWidget::height"][::std::mem::offset_of!(TableWidget, height) - 20usize];
8326    ["Offset of field: TableWidget::active"][::std::mem::offset_of!(TableWidget, active) - 24usize];
8327    ["Offset of field: TableWidget::flags"][::std::mem::offset_of!(TableWidget, flags) - 25usize];
8328    ["Offset of field: TableWidget::horAnchor"]
8329        [::std::mem::offset_of!(TableWidget, horAnchor) - 26usize];
8330    ["Offset of field: TableWidget::verAnchor"]
8331        [::std::mem::offset_of!(TableWidget, verAnchor) - 27usize];
8332    ["Offset of field: TableWidget::xOffset"]
8333        [::std::mem::offset_of!(TableWidget, xOffset) - 28usize];
8334    ["Offset of field: TableWidget::yOffset"]
8335        [::std::mem::offset_of!(TableWidget, yOffset) - 32usize];
8336    ["Offset of field: TableWidget::MenuClick"]
8337        [::std::mem::offset_of!(TableWidget, MenuClick) - 40usize];
8338    ["Offset of field: TableWidget::meta"][::std::mem::offset_of!(TableWidget, meta) - 48usize];
8339    ["Offset of field: TableWidget::blocksCount"]
8340        [::std::mem::offset_of!(TableWidget, blocksCount) - 56usize];
8341    ["Offset of field: TableWidget::blocksPerRow"]
8342        [::std::mem::offset_of!(TableWidget, blocksPerRow) - 60usize];
8343    ["Offset of field: TableWidget::rowsTotal"]
8344        [::std::mem::offset_of!(TableWidget, rowsTotal) - 64usize];
8345    ["Offset of field: TableWidget::rowsVisible"]
8346        [::std::mem::offset_of!(TableWidget, rowsVisible) - 68usize];
8347    ["Offset of field: TableWidget::lastCreatedIndex"]
8348        [::std::mem::offset_of!(TableWidget, lastCreatedIndex) - 72usize];
8349    ["Offset of field: TableWidget::selectedIndex"]
8350        [::std::mem::offset_of!(TableWidget, selectedIndex) - 76usize];
8351    ["Offset of field: TableWidget::cellSizeX"]
8352        [::std::mem::offset_of!(TableWidget, cellSizeX) - 80usize];
8353    ["Offset of field: TableWidget::cellSizeY"]
8354        [::std::mem::offset_of!(TableWidget, cellSizeY) - 84usize];
8355    ["Offset of field: TableWidget::normBlockSize"]
8356        [::std::mem::offset_of!(TableWidget, normBlockSize) - 88usize];
8357    ["Offset of field: TableWidget::selBlockSize"]
8358        [::std::mem::offset_of!(TableWidget, selBlockSize) - 92usize];
8359    ["Offset of field: TableWidget::vb"][::std::mem::offset_of!(TableWidget, vb) - 96usize];
8360    ["Offset of field: TableWidget::pendingClose"]
8361        [::std::mem::offset_of!(TableWidget, pendingClose) - 104usize];
8362    ["Offset of field: TableWidget::everCreated"]
8363        [::std::mem::offset_of!(TableWidget, everCreated) - 105usize];
8364    ["Offset of field: TableWidget::scale"][::std::mem::offset_of!(TableWidget, scale) - 108usize];
8365    ["Offset of field: TableWidget::padXAcc"]
8366        [::std::mem::offset_of!(TableWidget, padXAcc) - 112usize];
8367    ["Offset of field: TableWidget::padYAcc"]
8368        [::std::mem::offset_of!(TableWidget, padYAcc) - 116usize];
8369    ["Offset of field: TableWidget::blocks"]
8370        [::std::mem::offset_of!(TableWidget, blocks) - 120usize];
8371    ["Offset of field: TableWidget::scroll"]
8372        [::std::mem::offset_of!(TableWidget, scroll) - 1656usize];
8373    ["Offset of field: TableWidget::lastX"][::std::mem::offset_of!(TableWidget, lastX) - 1768usize];
8374    ["Offset of field: TableWidget::lastY"][::std::mem::offset_of!(TableWidget, lastY) - 1772usize];
8375    ["Offset of field: TableWidget::paddingX"]
8376        [::std::mem::offset_of!(TableWidget, paddingX) - 1776usize];
8377    ["Offset of field: TableWidget::paddingL"]
8378        [::std::mem::offset_of!(TableWidget, paddingL) - 1780usize];
8379    ["Offset of field: TableWidget::paddingR"]
8380        [::std::mem::offset_of!(TableWidget, paddingR) - 1784usize];
8381    ["Offset of field: TableWidget::paddingT"]
8382        [::std::mem::offset_of!(TableWidget, paddingT) - 1788usize];
8383    ["Offset of field: TableWidget::paddingB"]
8384        [::std::mem::offset_of!(TableWidget, paddingB) - 1792usize];
8385    ["Offset of field: TableWidget::UpdateTitle"]
8386        [::std::mem::offset_of!(TableWidget, UpdateTitle) - 1800usize];
8387    ["Offset of field: TableWidget::state"][::std::mem::offset_of!(TableWidget, state) - 1808usize];
8388    ["Offset of field: TableWidget::verticesCount"]
8389        [::std::mem::offset_of!(TableWidget, verticesCount) - 2768usize];
8390};
8391#[repr(C)]
8392pub struct InputWidget {
8393    pub VTABLE: *const WidgetVTABLE,
8394    pub x: ::std::os::raw::c_int,
8395    pub y: ::std::os::raw::c_int,
8396    pub width: ::std::os::raw::c_int,
8397    pub height: ::std::os::raw::c_int,
8398    pub active: cc_bool,
8399    pub flags: cc_uint8,
8400    pub horAnchor: cc_uint8,
8401    pub verAnchor: cc_uint8,
8402    pub xOffset: ::std::os::raw::c_int,
8403    pub yOffset: ::std::os::raw::c_int,
8404    pub MenuClick: Widget_LeftClick,
8405    pub meta: cc_pointer,
8406    pub font: *mut FontDesc,
8407    pub GetMaxLines: ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>,
8408    pub RemakeTexture:
8409        ::std::option::Option<unsafe extern "C" fn(elem: *mut ::std::os::raw::c_void)>,
8410    pub OnPressedEnter:
8411        ::std::option::Option<unsafe extern "C" fn(elem: *mut ::std::os::raw::c_void)>,
8412    pub AllowedChar: ::std::option::Option<
8413        unsafe extern "C" fn(
8414            elem: *mut ::std::os::raw::c_void,
8415            c: ::std::os::raw::c_char,
8416        ) -> cc_bool,
8417    >,
8418    pub OnTextChanged:
8419        ::std::option::Option<unsafe extern "C" fn(elem: *mut ::std::os::raw::c_void)>,
8420    pub text: cc_string,
8421    pub lines: [cc_string; 3usize],
8422    pub lineWidths: [::std::os::raw::c_int; 3usize],
8423    pub lineHeight: ::std::os::raw::c_int,
8424    pub inputTex: Texture,
8425    pub prefixWidth: ::std::os::raw::c_int,
8426    pub convertPercents: cc_bool,
8427    pub padding: cc_uint8,
8428    pub showCaret: cc_bool,
8429    pub caretWidth: ::std::os::raw::c_int,
8430    pub caretX: ::std::os::raw::c_int,
8431    pub caretY: ::std::os::raw::c_int,
8432    pub caretPos: ::std::os::raw::c_int,
8433    pub caretOffset: ::std::os::raw::c_int,
8434    pub caretCol: PackedCol,
8435    pub caretTex: Texture,
8436    pub caretAccumulator: f32,
8437}
8438#[allow(clippy::unnecessary_operation, clippy::identity_op)]
8439const _: () = {
8440    ["Size of InputWidget"][::std::mem::size_of::<InputWidget>() - 288usize];
8441    ["Alignment of InputWidget"][::std::mem::align_of::<InputWidget>() - 8usize];
8442    ["Offset of field: InputWidget::VTABLE"][::std::mem::offset_of!(InputWidget, VTABLE) - 0usize];
8443    ["Offset of field: InputWidget::x"][::std::mem::offset_of!(InputWidget, x) - 8usize];
8444    ["Offset of field: InputWidget::y"][::std::mem::offset_of!(InputWidget, y) - 12usize];
8445    ["Offset of field: InputWidget::width"][::std::mem::offset_of!(InputWidget, width) - 16usize];
8446    ["Offset of field: InputWidget::height"][::std::mem::offset_of!(InputWidget, height) - 20usize];
8447    ["Offset of field: InputWidget::active"][::std::mem::offset_of!(InputWidget, active) - 24usize];
8448    ["Offset of field: InputWidget::flags"][::std::mem::offset_of!(InputWidget, flags) - 25usize];
8449    ["Offset of field: InputWidget::horAnchor"]
8450        [::std::mem::offset_of!(InputWidget, horAnchor) - 26usize];
8451    ["Offset of field: InputWidget::verAnchor"]
8452        [::std::mem::offset_of!(InputWidget, verAnchor) - 27usize];
8453    ["Offset of field: InputWidget::xOffset"]
8454        [::std::mem::offset_of!(InputWidget, xOffset) - 28usize];
8455    ["Offset of field: InputWidget::yOffset"]
8456        [::std::mem::offset_of!(InputWidget, yOffset) - 32usize];
8457    ["Offset of field: InputWidget::MenuClick"]
8458        [::std::mem::offset_of!(InputWidget, MenuClick) - 40usize];
8459    ["Offset of field: InputWidget::meta"][::std::mem::offset_of!(InputWidget, meta) - 48usize];
8460    ["Offset of field: InputWidget::font"][::std::mem::offset_of!(InputWidget, font) - 56usize];
8461    ["Offset of field: InputWidget::GetMaxLines"]
8462        [::std::mem::offset_of!(InputWidget, GetMaxLines) - 64usize];
8463    ["Offset of field: InputWidget::RemakeTexture"]
8464        [::std::mem::offset_of!(InputWidget, RemakeTexture) - 72usize];
8465    ["Offset of field: InputWidget::OnPressedEnter"]
8466        [::std::mem::offset_of!(InputWidget, OnPressedEnter) - 80usize];
8467    ["Offset of field: InputWidget::AllowedChar"]
8468        [::std::mem::offset_of!(InputWidget, AllowedChar) - 88usize];
8469    ["Offset of field: InputWidget::OnTextChanged"]
8470        [::std::mem::offset_of!(InputWidget, OnTextChanged) - 96usize];
8471    ["Offset of field: InputWidget::text"][::std::mem::offset_of!(InputWidget, text) - 104usize];
8472    ["Offset of field: InputWidget::lines"][::std::mem::offset_of!(InputWidget, lines) - 120usize];
8473    ["Offset of field: InputWidget::lineWidths"]
8474        [::std::mem::offset_of!(InputWidget, lineWidths) - 168usize];
8475    ["Offset of field: InputWidget::lineHeight"]
8476        [::std::mem::offset_of!(InputWidget, lineHeight) - 180usize];
8477    ["Offset of field: InputWidget::inputTex"]
8478        [::std::mem::offset_of!(InputWidget, inputTex) - 184usize];
8479    ["Offset of field: InputWidget::prefixWidth"]
8480        [::std::mem::offset_of!(InputWidget, prefixWidth) - 216usize];
8481    ["Offset of field: InputWidget::convertPercents"]
8482        [::std::mem::offset_of!(InputWidget, convertPercents) - 220usize];
8483    ["Offset of field: InputWidget::padding"]
8484        [::std::mem::offset_of!(InputWidget, padding) - 221usize];
8485    ["Offset of field: InputWidget::showCaret"]
8486        [::std::mem::offset_of!(InputWidget, showCaret) - 222usize];
8487    ["Offset of field: InputWidget::caretWidth"]
8488        [::std::mem::offset_of!(InputWidget, caretWidth) - 224usize];
8489    ["Offset of field: InputWidget::caretX"]
8490        [::std::mem::offset_of!(InputWidget, caretX) - 228usize];
8491    ["Offset of field: InputWidget::caretY"]
8492        [::std::mem::offset_of!(InputWidget, caretY) - 232usize];
8493    ["Offset of field: InputWidget::caretPos"]
8494        [::std::mem::offset_of!(InputWidget, caretPos) - 236usize];
8495    ["Offset of field: InputWidget::caretOffset"]
8496        [::std::mem::offset_of!(InputWidget, caretOffset) - 240usize];
8497    ["Offset of field: InputWidget::caretCol"]
8498        [::std::mem::offset_of!(InputWidget, caretCol) - 244usize];
8499    ["Offset of field: InputWidget::caretTex"]
8500        [::std::mem::offset_of!(InputWidget, caretTex) - 248usize];
8501    ["Offset of field: InputWidget::caretAccumulator"]
8502        [::std::mem::offset_of!(InputWidget, caretAccumulator) - 280usize];
8503};
8504#[repr(C)]
8505#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8506pub struct MenuInputVTABLE {
8507    pub GetRange:
8508        ::std::option::Option<unsafe extern "C" fn(d: *mut MenuInputDesc, range: *mut cc_string)>,
8509    pub IsValidChar: ::std::option::Option<
8510        unsafe extern "C" fn(d: *mut MenuInputDesc, c: ::std::os::raw::c_char) -> cc_bool,
8511    >,
8512    pub IsValidString: ::std::option::Option<
8513        unsafe extern "C" fn(d: *mut MenuInputDesc, s: *const cc_string) -> cc_bool,
8514    >,
8515    pub IsValidValue: ::std::option::Option<
8516        unsafe extern "C" fn(d: *mut MenuInputDesc, s: *const cc_string) -> cc_bool,
8517    >,
8518    pub GetDefault:
8519        ::std::option::Option<unsafe extern "C" fn(d: *mut MenuInputDesc, value: *mut cc_string)>,
8520    pub ProcessInput: ::std::option::Option<
8521        unsafe extern "C" fn(
8522            d: *mut MenuInputDesc,
8523            value: *mut cc_string,
8524            btn: ::std::os::raw::c_int,
8525        ) -> cc_bool,
8526    >,
8527}
8528#[allow(clippy::unnecessary_operation, clippy::identity_op)]
8529const _: () = {
8530    ["Size of MenuInputVTABLE"][::std::mem::size_of::<MenuInputVTABLE>() - 48usize];
8531    ["Alignment of MenuInputVTABLE"][::std::mem::align_of::<MenuInputVTABLE>() - 8usize];
8532    ["Offset of field: MenuInputVTABLE::GetRange"]
8533        [::std::mem::offset_of!(MenuInputVTABLE, GetRange) - 0usize];
8534    ["Offset of field: MenuInputVTABLE::IsValidChar"]
8535        [::std::mem::offset_of!(MenuInputVTABLE, IsValidChar) - 8usize];
8536    ["Offset of field: MenuInputVTABLE::IsValidString"]
8537        [::std::mem::offset_of!(MenuInputVTABLE, IsValidString) - 16usize];
8538    ["Offset of field: MenuInputVTABLE::IsValidValue"]
8539        [::std::mem::offset_of!(MenuInputVTABLE, IsValidValue) - 24usize];
8540    ["Offset of field: MenuInputVTABLE::GetDefault"]
8541        [::std::mem::offset_of!(MenuInputVTABLE, GetDefault) - 32usize];
8542    ["Offset of field: MenuInputVTABLE::ProcessInput"]
8543        [::std::mem::offset_of!(MenuInputVTABLE, ProcessInput) - 40usize];
8544};
8545#[repr(C)]
8546#[derive(Copy, Clone)]
8547pub struct MenuInputDesc {
8548    pub VTABLE: *const MenuInputVTABLE,
8549    pub meta: MenuInputDesc__bindgen_ty_1,
8550}
8551#[repr(C)]
8552#[derive(Copy, Clone)]
8553pub union MenuInputDesc__bindgen_ty_1 {
8554    pub e: MenuInputDesc__bindgen_ty_1__bindgen_ty_1,
8555    pub i: MenuInputDesc__bindgen_ty_1__bindgen_ty_2,
8556    pub f: MenuInputDesc__bindgen_ty_1__bindgen_ty_3,
8557    pub h: MenuInputDesc__bindgen_ty_1__bindgen_ty_4,
8558}
8559#[repr(C)]
8560#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8561pub struct MenuInputDesc__bindgen_ty_1__bindgen_ty_1 {
8562    pub Names: *const *const ::std::os::raw::c_char,
8563    pub Count: ::std::os::raw::c_int,
8564}
8565#[allow(clippy::unnecessary_operation, clippy::identity_op)]
8566const _: () = {
8567    ["Size of MenuInputDesc__bindgen_ty_1__bindgen_ty_1"]
8568        [::std::mem::size_of::<MenuInputDesc__bindgen_ty_1__bindgen_ty_1>() - 16usize];
8569    ["Alignment of MenuInputDesc__bindgen_ty_1__bindgen_ty_1"]
8570        [::std::mem::align_of::<MenuInputDesc__bindgen_ty_1__bindgen_ty_1>() - 8usize];
8571    ["Offset of field: MenuInputDesc__bindgen_ty_1__bindgen_ty_1::Names"]
8572        [::std::mem::offset_of!(MenuInputDesc__bindgen_ty_1__bindgen_ty_1, Names) - 0usize];
8573    ["Offset of field: MenuInputDesc__bindgen_ty_1__bindgen_ty_1::Count"]
8574        [::std::mem::offset_of!(MenuInputDesc__bindgen_ty_1__bindgen_ty_1, Count) - 8usize];
8575};
8576#[repr(C)]
8577#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8578pub struct MenuInputDesc__bindgen_ty_1__bindgen_ty_2 {
8579    pub Min: ::std::os::raw::c_int,
8580    pub Max: ::std::os::raw::c_int,
8581    pub Default: ::std::os::raw::c_int,
8582}
8583#[allow(clippy::unnecessary_operation, clippy::identity_op)]
8584const _: () = {
8585    ["Size of MenuInputDesc__bindgen_ty_1__bindgen_ty_2"]
8586        [::std::mem::size_of::<MenuInputDesc__bindgen_ty_1__bindgen_ty_2>() - 12usize];
8587    ["Alignment of MenuInputDesc__bindgen_ty_1__bindgen_ty_2"]
8588        [::std::mem::align_of::<MenuInputDesc__bindgen_ty_1__bindgen_ty_2>() - 4usize];
8589    ["Offset of field: MenuInputDesc__bindgen_ty_1__bindgen_ty_2::Min"]
8590        [::std::mem::offset_of!(MenuInputDesc__bindgen_ty_1__bindgen_ty_2, Min) - 0usize];
8591    ["Offset of field: MenuInputDesc__bindgen_ty_1__bindgen_ty_2::Max"]
8592        [::std::mem::offset_of!(MenuInputDesc__bindgen_ty_1__bindgen_ty_2, Max) - 4usize];
8593    ["Offset of field: MenuInputDesc__bindgen_ty_1__bindgen_ty_2::Default"]
8594        [::std::mem::offset_of!(MenuInputDesc__bindgen_ty_1__bindgen_ty_2, Default) - 8usize];
8595};
8596#[repr(C)]
8597#[derive(Debug, Copy, Clone, PartialEq)]
8598pub struct MenuInputDesc__bindgen_ty_1__bindgen_ty_3 {
8599    pub Min: f32,
8600    pub Max: f32,
8601    pub Default: f32,
8602}
8603#[allow(clippy::unnecessary_operation, clippy::identity_op)]
8604const _: () = {
8605    ["Size of MenuInputDesc__bindgen_ty_1__bindgen_ty_3"]
8606        [::std::mem::size_of::<MenuInputDesc__bindgen_ty_1__bindgen_ty_3>() - 12usize];
8607    ["Alignment of MenuInputDesc__bindgen_ty_1__bindgen_ty_3"]
8608        [::std::mem::align_of::<MenuInputDesc__bindgen_ty_1__bindgen_ty_3>() - 4usize];
8609    ["Offset of field: MenuInputDesc__bindgen_ty_1__bindgen_ty_3::Min"]
8610        [::std::mem::offset_of!(MenuInputDesc__bindgen_ty_1__bindgen_ty_3, Min) - 0usize];
8611    ["Offset of field: MenuInputDesc__bindgen_ty_1__bindgen_ty_3::Max"]
8612        [::std::mem::offset_of!(MenuInputDesc__bindgen_ty_1__bindgen_ty_3, Max) - 4usize];
8613    ["Offset of field: MenuInputDesc__bindgen_ty_1__bindgen_ty_3::Default"]
8614        [::std::mem::offset_of!(MenuInputDesc__bindgen_ty_1__bindgen_ty_3, Default) - 8usize];
8615};
8616#[repr(C)]
8617#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8618pub struct MenuInputDesc__bindgen_ty_1__bindgen_ty_4 {
8619    pub Default: PackedCol,
8620}
8621#[allow(clippy::unnecessary_operation, clippy::identity_op)]
8622const _: () = {
8623    ["Size of MenuInputDesc__bindgen_ty_1__bindgen_ty_4"]
8624        [::std::mem::size_of::<MenuInputDesc__bindgen_ty_1__bindgen_ty_4>() - 4usize];
8625    ["Alignment of MenuInputDesc__bindgen_ty_1__bindgen_ty_4"]
8626        [::std::mem::align_of::<MenuInputDesc__bindgen_ty_1__bindgen_ty_4>() - 4usize];
8627    ["Offset of field: MenuInputDesc__bindgen_ty_1__bindgen_ty_4::Default"]
8628        [::std::mem::offset_of!(MenuInputDesc__bindgen_ty_1__bindgen_ty_4, Default) - 0usize];
8629};
8630#[allow(clippy::unnecessary_operation, clippy::identity_op)]
8631const _: () = {
8632    ["Size of MenuInputDesc__bindgen_ty_1"]
8633        [::std::mem::size_of::<MenuInputDesc__bindgen_ty_1>() - 16usize];
8634    ["Alignment of MenuInputDesc__bindgen_ty_1"]
8635        [::std::mem::align_of::<MenuInputDesc__bindgen_ty_1>() - 8usize];
8636    ["Offset of field: MenuInputDesc__bindgen_ty_1::e"]
8637        [::std::mem::offset_of!(MenuInputDesc__bindgen_ty_1, e) - 0usize];
8638    ["Offset of field: MenuInputDesc__bindgen_ty_1::i"]
8639        [::std::mem::offset_of!(MenuInputDesc__bindgen_ty_1, i) - 0usize];
8640    ["Offset of field: MenuInputDesc__bindgen_ty_1::f"]
8641        [::std::mem::offset_of!(MenuInputDesc__bindgen_ty_1, f) - 0usize];
8642    ["Offset of field: MenuInputDesc__bindgen_ty_1::h"]
8643        [::std::mem::offset_of!(MenuInputDesc__bindgen_ty_1, h) - 0usize];
8644};
8645#[allow(clippy::unnecessary_operation, clippy::identity_op)]
8646const _: () = {
8647    ["Size of MenuInputDesc"][::std::mem::size_of::<MenuInputDesc>() - 24usize];
8648    ["Alignment of MenuInputDesc"][::std::mem::align_of::<MenuInputDesc>() - 8usize];
8649    ["Offset of field: MenuInputDesc::VTABLE"]
8650        [::std::mem::offset_of!(MenuInputDesc, VTABLE) - 0usize];
8651    ["Offset of field: MenuInputDesc::meta"][::std::mem::offset_of!(MenuInputDesc, meta) - 8usize];
8652};
8653#[repr(C)]
8654pub struct TextInputWidget {
8655    pub base: InputWidget,
8656    pub minWidth: ::std::os::raw::c_int,
8657    pub minHeight: ::std::os::raw::c_int,
8658    pub desc: MenuInputDesc,
8659    pub _textBuffer: [::std::os::raw::c_char; 64usize],
8660    pub onscreenPlaceholder: *const ::std::os::raw::c_char,
8661    pub onscreenType: ::std::os::raw::c_int,
8662}
8663#[allow(clippy::unnecessary_operation, clippy::identity_op)]
8664const _: () = {
8665    ["Size of TextInputWidget"][::std::mem::size_of::<TextInputWidget>() - 400usize];
8666    ["Alignment of TextInputWidget"][::std::mem::align_of::<TextInputWidget>() - 8usize];
8667    ["Offset of field: TextInputWidget::base"]
8668        [::std::mem::offset_of!(TextInputWidget, base) - 0usize];
8669    ["Offset of field: TextInputWidget::minWidth"]
8670        [::std::mem::offset_of!(TextInputWidget, minWidth) - 288usize];
8671    ["Offset of field: TextInputWidget::minHeight"]
8672        [::std::mem::offset_of!(TextInputWidget, minHeight) - 292usize];
8673    ["Offset of field: TextInputWidget::desc"]
8674        [::std::mem::offset_of!(TextInputWidget, desc) - 296usize];
8675    ["Offset of field: TextInputWidget::_textBuffer"]
8676        [::std::mem::offset_of!(TextInputWidget, _textBuffer) - 320usize];
8677    ["Offset of field: TextInputWidget::onscreenPlaceholder"]
8678        [::std::mem::offset_of!(TextInputWidget, onscreenPlaceholder) - 384usize];
8679    ["Offset of field: TextInputWidget::onscreenType"]
8680        [::std::mem::offset_of!(TextInputWidget, onscreenType) - 392usize];
8681};
8682#[repr(C)]
8683pub struct ChatInputWidget {
8684    pub base: InputWidget,
8685    pub typingLogPos: ::std::os::raw::c_int,
8686    pub origStr: cc_string,
8687    pub _textBuffer: [::std::os::raw::c_char; 192usize],
8688    pub _origBuffer: [::std::os::raw::c_char; 192usize],
8689}
8690#[allow(clippy::unnecessary_operation, clippy::identity_op)]
8691const _: () = {
8692    ["Size of ChatInputWidget"][::std::mem::size_of::<ChatInputWidget>() - 696usize];
8693    ["Alignment of ChatInputWidget"][::std::mem::align_of::<ChatInputWidget>() - 8usize];
8694    ["Offset of field: ChatInputWidget::base"]
8695        [::std::mem::offset_of!(ChatInputWidget, base) - 0usize];
8696    ["Offset of field: ChatInputWidget::typingLogPos"]
8697        [::std::mem::offset_of!(ChatInputWidget, typingLogPos) - 288usize];
8698    ["Offset of field: ChatInputWidget::origStr"]
8699        [::std::mem::offset_of!(ChatInputWidget, origStr) - 296usize];
8700    ["Offset of field: ChatInputWidget::_textBuffer"]
8701        [::std::mem::offset_of!(ChatInputWidget, _textBuffer) - 312usize];
8702    ["Offset of field: ChatInputWidget::_origBuffer"]
8703        [::std::mem::offset_of!(ChatInputWidget, _origBuffer) - 504usize];
8704};
8705pub type TextGroupWidget_Get =
8706    ::std::option::Option<unsafe extern "C" fn(i: ::std::os::raw::c_int) -> cc_string>;
8707#[repr(C)]
8708#[derive(Copy, Clone)]
8709pub struct TextGroupWidget {
8710    pub VTABLE: *const WidgetVTABLE,
8711    pub x: ::std::os::raw::c_int,
8712    pub y: ::std::os::raw::c_int,
8713    pub width: ::std::os::raw::c_int,
8714    pub height: ::std::os::raw::c_int,
8715    pub active: cc_bool,
8716    pub flags: cc_uint8,
8717    pub horAnchor: cc_uint8,
8718    pub verAnchor: cc_uint8,
8719    pub xOffset: ::std::os::raw::c_int,
8720    pub yOffset: ::std::os::raw::c_int,
8721    pub MenuClick: Widget_LeftClick,
8722    pub meta: cc_pointer,
8723    pub lines: ::std::os::raw::c_int,
8724    pub defaultHeight: ::std::os::raw::c_int,
8725    pub font: *mut FontDesc,
8726    pub collapsible: [cc_bool; 30usize],
8727    pub underlineUrls: cc_bool,
8728    pub textures: *mut Texture,
8729    pub GetLine: TextGroupWidget_Get,
8730}
8731#[allow(clippy::unnecessary_operation, clippy::identity_op)]
8732const _: () = {
8733    ["Size of TextGroupWidget"][::std::mem::size_of::<TextGroupWidget>() - 120usize];
8734    ["Alignment of TextGroupWidget"][::std::mem::align_of::<TextGroupWidget>() - 8usize];
8735    ["Offset of field: TextGroupWidget::VTABLE"]
8736        [::std::mem::offset_of!(TextGroupWidget, VTABLE) - 0usize];
8737    ["Offset of field: TextGroupWidget::x"][::std::mem::offset_of!(TextGroupWidget, x) - 8usize];
8738    ["Offset of field: TextGroupWidget::y"][::std::mem::offset_of!(TextGroupWidget, y) - 12usize];
8739    ["Offset of field: TextGroupWidget::width"]
8740        [::std::mem::offset_of!(TextGroupWidget, width) - 16usize];
8741    ["Offset of field: TextGroupWidget::height"]
8742        [::std::mem::offset_of!(TextGroupWidget, height) - 20usize];
8743    ["Offset of field: TextGroupWidget::active"]
8744        [::std::mem::offset_of!(TextGroupWidget, active) - 24usize];
8745    ["Offset of field: TextGroupWidget::flags"]
8746        [::std::mem::offset_of!(TextGroupWidget, flags) - 25usize];
8747    ["Offset of field: TextGroupWidget::horAnchor"]
8748        [::std::mem::offset_of!(TextGroupWidget, horAnchor) - 26usize];
8749    ["Offset of field: TextGroupWidget::verAnchor"]
8750        [::std::mem::offset_of!(TextGroupWidget, verAnchor) - 27usize];
8751    ["Offset of field: TextGroupWidget::xOffset"]
8752        [::std::mem::offset_of!(TextGroupWidget, xOffset) - 28usize];
8753    ["Offset of field: TextGroupWidget::yOffset"]
8754        [::std::mem::offset_of!(TextGroupWidget, yOffset) - 32usize];
8755    ["Offset of field: TextGroupWidget::MenuClick"]
8756        [::std::mem::offset_of!(TextGroupWidget, MenuClick) - 40usize];
8757    ["Offset of field: TextGroupWidget::meta"]
8758        [::std::mem::offset_of!(TextGroupWidget, meta) - 48usize];
8759    ["Offset of field: TextGroupWidget::lines"]
8760        [::std::mem::offset_of!(TextGroupWidget, lines) - 56usize];
8761    ["Offset of field: TextGroupWidget::defaultHeight"]
8762        [::std::mem::offset_of!(TextGroupWidget, defaultHeight) - 60usize];
8763    ["Offset of field: TextGroupWidget::font"]
8764        [::std::mem::offset_of!(TextGroupWidget, font) - 64usize];
8765    ["Offset of field: TextGroupWidget::collapsible"]
8766        [::std::mem::offset_of!(TextGroupWidget, collapsible) - 72usize];
8767    ["Offset of field: TextGroupWidget::underlineUrls"]
8768        [::std::mem::offset_of!(TextGroupWidget, underlineUrls) - 102usize];
8769    ["Offset of field: TextGroupWidget::textures"]
8770        [::std::mem::offset_of!(TextGroupWidget, textures) - 104usize];
8771    ["Offset of field: TextGroupWidget::GetLine"]
8772        [::std::mem::offset_of!(TextGroupWidget, GetLine) - 112usize];
8773};
8774pub type SpecialInputAppendFunc = ::std::option::Option<
8775    unsafe extern "C" fn(userData: *mut ::std::os::raw::c_void, c: ::std::os::raw::c_char),
8776>;
8777#[repr(C)]
8778#[derive(Debug, Hash, PartialEq, Eq)]
8779pub struct SpecialInputTab {
8780    pub itemsPerRow: ::std::os::raw::c_int,
8781    pub charsPerItem: ::std::os::raw::c_int,
8782    pub titleWidth: ::std::os::raw::c_int,
8783    pub title: cc_string,
8784    pub contents: cc_string,
8785}
8786#[allow(clippy::unnecessary_operation, clippy::identity_op)]
8787const _: () = {
8788    ["Size of SpecialInputTab"][::std::mem::size_of::<SpecialInputTab>() - 48usize];
8789    ["Alignment of SpecialInputTab"][::std::mem::align_of::<SpecialInputTab>() - 8usize];
8790    ["Offset of field: SpecialInputTab::itemsPerRow"]
8791        [::std::mem::offset_of!(SpecialInputTab, itemsPerRow) - 0usize];
8792    ["Offset of field: SpecialInputTab::charsPerItem"]
8793        [::std::mem::offset_of!(SpecialInputTab, charsPerItem) - 4usize];
8794    ["Offset of field: SpecialInputTab::titleWidth"]
8795        [::std::mem::offset_of!(SpecialInputTab, titleWidth) - 8usize];
8796    ["Offset of field: SpecialInputTab::title"]
8797        [::std::mem::offset_of!(SpecialInputTab, title) - 16usize];
8798    ["Offset of field: SpecialInputTab::contents"]
8799        [::std::mem::offset_of!(SpecialInputTab, contents) - 32usize];
8800};
8801#[repr(C)]
8802pub struct SpecialInputWidget {
8803    pub VTABLE: *const WidgetVTABLE,
8804    pub x: ::std::os::raw::c_int,
8805    pub y: ::std::os::raw::c_int,
8806    pub width: ::std::os::raw::c_int,
8807    pub height: ::std::os::raw::c_int,
8808    pub active: cc_bool,
8809    pub flags: cc_uint8,
8810    pub horAnchor: cc_uint8,
8811    pub verAnchor: cc_uint8,
8812    pub xOffset: ::std::os::raw::c_int,
8813    pub yOffset: ::std::os::raw::c_int,
8814    pub MenuClick: Widget_LeftClick,
8815    pub meta: cc_pointer,
8816    pub elementWidth: ::std::os::raw::c_int,
8817    pub elementHeight: ::std::os::raw::c_int,
8818    pub selectedIndex: ::std::os::raw::c_int,
8819    pub pendingRedraw: cc_bool,
8820    pub target: *mut InputWidget,
8821    pub tex: Texture,
8822    pub font: *mut FontDesc,
8823    pub titleHeight: ::std::os::raw::c_int,
8824    pub tabs: [SpecialInputTab; 5usize],
8825    pub colString: cc_string,
8826    pub _colBuffer: [::std::os::raw::c_char; 1024usize],
8827}
8828#[allow(clippy::unnecessary_operation, clippy::identity_op)]
8829const _: () = {
8830    ["Size of SpecialInputWidget"][::std::mem::size_of::<SpecialInputWidget>() - 1408usize];
8831    ["Alignment of SpecialInputWidget"][::std::mem::align_of::<SpecialInputWidget>() - 8usize];
8832    ["Offset of field: SpecialInputWidget::VTABLE"]
8833        [::std::mem::offset_of!(SpecialInputWidget, VTABLE) - 0usize];
8834    ["Offset of field: SpecialInputWidget::x"]
8835        [::std::mem::offset_of!(SpecialInputWidget, x) - 8usize];
8836    ["Offset of field: SpecialInputWidget::y"]
8837        [::std::mem::offset_of!(SpecialInputWidget, y) - 12usize];
8838    ["Offset of field: SpecialInputWidget::width"]
8839        [::std::mem::offset_of!(SpecialInputWidget, width) - 16usize];
8840    ["Offset of field: SpecialInputWidget::height"]
8841        [::std::mem::offset_of!(SpecialInputWidget, height) - 20usize];
8842    ["Offset of field: SpecialInputWidget::active"]
8843        [::std::mem::offset_of!(SpecialInputWidget, active) - 24usize];
8844    ["Offset of field: SpecialInputWidget::flags"]
8845        [::std::mem::offset_of!(SpecialInputWidget, flags) - 25usize];
8846    ["Offset of field: SpecialInputWidget::horAnchor"]
8847        [::std::mem::offset_of!(SpecialInputWidget, horAnchor) - 26usize];
8848    ["Offset of field: SpecialInputWidget::verAnchor"]
8849        [::std::mem::offset_of!(SpecialInputWidget, verAnchor) - 27usize];
8850    ["Offset of field: SpecialInputWidget::xOffset"]
8851        [::std::mem::offset_of!(SpecialInputWidget, xOffset) - 28usize];
8852    ["Offset of field: SpecialInputWidget::yOffset"]
8853        [::std::mem::offset_of!(SpecialInputWidget, yOffset) - 32usize];
8854    ["Offset of field: SpecialInputWidget::MenuClick"]
8855        [::std::mem::offset_of!(SpecialInputWidget, MenuClick) - 40usize];
8856    ["Offset of field: SpecialInputWidget::meta"]
8857        [::std::mem::offset_of!(SpecialInputWidget, meta) - 48usize];
8858    ["Offset of field: SpecialInputWidget::elementWidth"]
8859        [::std::mem::offset_of!(SpecialInputWidget, elementWidth) - 56usize];
8860    ["Offset of field: SpecialInputWidget::elementHeight"]
8861        [::std::mem::offset_of!(SpecialInputWidget, elementHeight) - 60usize];
8862    ["Offset of field: SpecialInputWidget::selectedIndex"]
8863        [::std::mem::offset_of!(SpecialInputWidget, selectedIndex) - 64usize];
8864    ["Offset of field: SpecialInputWidget::pendingRedraw"]
8865        [::std::mem::offset_of!(SpecialInputWidget, pendingRedraw) - 68usize];
8866    ["Offset of field: SpecialInputWidget::target"]
8867        [::std::mem::offset_of!(SpecialInputWidget, target) - 72usize];
8868    ["Offset of field: SpecialInputWidget::tex"]
8869        [::std::mem::offset_of!(SpecialInputWidget, tex) - 80usize];
8870    ["Offset of field: SpecialInputWidget::font"]
8871        [::std::mem::offset_of!(SpecialInputWidget, font) - 112usize];
8872    ["Offset of field: SpecialInputWidget::titleHeight"]
8873        [::std::mem::offset_of!(SpecialInputWidget, titleHeight) - 120usize];
8874    ["Offset of field: SpecialInputWidget::tabs"]
8875        [::std::mem::offset_of!(SpecialInputWidget, tabs) - 128usize];
8876    ["Offset of field: SpecialInputWidget::colString"]
8877        [::std::mem::offset_of!(SpecialInputWidget, colString) - 368usize];
8878    ["Offset of field: SpecialInputWidget::_colBuffer"]
8879        [::std::mem::offset_of!(SpecialInputWidget, _colBuffer) - 384usize];
8880};
8881#[repr(C)]
8882#[derive(Debug, PartialEq)]
8883pub struct _WorldData {
8884    pub Blocks: *mut BlockRaw,
8885    pub Blocks2: *mut BlockRaw,
8886    pub Volume: ::std::os::raw::c_int,
8887    pub Width: ::std::os::raw::c_int,
8888    pub Height: ::std::os::raw::c_int,
8889    pub Length: ::std::os::raw::c_int,
8890    pub MaxX: ::std::os::raw::c_int,
8891    pub MaxY: ::std::os::raw::c_int,
8892    pub MaxZ: ::std::os::raw::c_int,
8893    pub OneY: ::std::os::raw::c_int,
8894    pub Uuid: [cc_uint8; 16usize],
8895    pub IDMask: ::std::os::raw::c_int,
8896    pub Loaded: cc_bool,
8897    pub LastSave: f64,
8898    pub Name: cc_string,
8899    pub ChunksX: ::std::os::raw::c_int,
8900    pub ChunksY: ::std::os::raw::c_int,
8901    pub ChunksZ: ::std::os::raw::c_int,
8902    pub ChunksCount: ::std::os::raw::c_int,
8903    pub Seed: ::std::os::raw::c_int,
8904}
8905#[allow(clippy::unnecessary_operation, clippy::identity_op)]
8906const _: () = {
8907    ["Size of _WorldData"][::std::mem::size_of::<_WorldData>() - 120usize];
8908    ["Alignment of _WorldData"][::std::mem::align_of::<_WorldData>() - 8usize];
8909    ["Offset of field: _WorldData::Blocks"][::std::mem::offset_of!(_WorldData, Blocks) - 0usize];
8910    ["Offset of field: _WorldData::Blocks2"][::std::mem::offset_of!(_WorldData, Blocks2) - 8usize];
8911    ["Offset of field: _WorldData::Volume"][::std::mem::offset_of!(_WorldData, Volume) - 16usize];
8912    ["Offset of field: _WorldData::Width"][::std::mem::offset_of!(_WorldData, Width) - 20usize];
8913    ["Offset of field: _WorldData::Height"][::std::mem::offset_of!(_WorldData, Height) - 24usize];
8914    ["Offset of field: _WorldData::Length"][::std::mem::offset_of!(_WorldData, Length) - 28usize];
8915    ["Offset of field: _WorldData::MaxX"][::std::mem::offset_of!(_WorldData, MaxX) - 32usize];
8916    ["Offset of field: _WorldData::MaxY"][::std::mem::offset_of!(_WorldData, MaxY) - 36usize];
8917    ["Offset of field: _WorldData::MaxZ"][::std::mem::offset_of!(_WorldData, MaxZ) - 40usize];
8918    ["Offset of field: _WorldData::OneY"][::std::mem::offset_of!(_WorldData, OneY) - 44usize];
8919    ["Offset of field: _WorldData::Uuid"][::std::mem::offset_of!(_WorldData, Uuid) - 48usize];
8920    ["Offset of field: _WorldData::IDMask"][::std::mem::offset_of!(_WorldData, IDMask) - 64usize];
8921    ["Offset of field: _WorldData::Loaded"][::std::mem::offset_of!(_WorldData, Loaded) - 68usize];
8922    ["Offset of field: _WorldData::LastSave"]
8923        [::std::mem::offset_of!(_WorldData, LastSave) - 72usize];
8924    ["Offset of field: _WorldData::Name"][::std::mem::offset_of!(_WorldData, Name) - 80usize];
8925    ["Offset of field: _WorldData::ChunksX"][::std::mem::offset_of!(_WorldData, ChunksX) - 96usize];
8926    ["Offset of field: _WorldData::ChunksY"]
8927        [::std::mem::offset_of!(_WorldData, ChunksY) - 100usize];
8928    ["Offset of field: _WorldData::ChunksZ"]
8929        [::std::mem::offset_of!(_WorldData, ChunksZ) - 104usize];
8930    ["Offset of field: _WorldData::ChunksCount"]
8931        [::std::mem::offset_of!(_WorldData, ChunksCount) - 108usize];
8932    ["Offset of field: _WorldData::Seed"][::std::mem::offset_of!(_WorldData, Seed) - 112usize];
8933};
8934#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
8935    pub static mut World: _WorldData;
8936}
8937extern "C" {
8938    pub fn World_NewMap();
8939}
8940extern "C" {
8941    pub fn World_SetNewMap(
8942        blocks: *mut BlockRaw,
8943        width: ::std::os::raw::c_int,
8944        height: ::std::os::raw::c_int,
8945        length: ::std::os::raw::c_int,
8946    );
8947}
8948pub const EnvVar_ENV_VAR_EDGE_BLOCK: EnvVar = 0;
8949pub const EnvVar_ENV_VAR_SIDES_BLOCK: EnvVar = 1;
8950pub const EnvVar_ENV_VAR_EDGE_HEIGHT: EnvVar = 2;
8951pub const EnvVar_ENV_VAR_SIDES_OFFSET: EnvVar = 3;
8952pub const EnvVar_ENV_VAR_CLOUDS_HEIGHT: EnvVar = 4;
8953pub const EnvVar_ENV_VAR_CLOUDS_SPEED: EnvVar = 5;
8954pub const EnvVar_ENV_VAR_WEATHER_SPEED: EnvVar = 6;
8955pub const EnvVar_ENV_VAR_WEATHER_FADE: EnvVar = 7;
8956pub const EnvVar_ENV_VAR_WEATHER: EnvVar = 8;
8957pub const EnvVar_ENV_VAR_EXP_FOG: EnvVar = 9;
8958pub const EnvVar_ENV_VAR_SKYBOX_HOR_SPEED: EnvVar = 10;
8959pub const EnvVar_ENV_VAR_SKYBOX_VER_SPEED: EnvVar = 11;
8960pub const EnvVar_ENV_VAR_SKY_COLOR: EnvVar = 12;
8961pub const EnvVar_ENV_VAR_CLOUDS_COLOR: EnvVar = 13;
8962pub const EnvVar_ENV_VAR_FOG_COLOR: EnvVar = 14;
8963pub const EnvVar_ENV_VAR_SUN_COLOR: EnvVar = 15;
8964pub const EnvVar_ENV_VAR_SHADOW_COLOR: EnvVar = 16;
8965pub const EnvVar_ENV_VAR_SKYBOX_COLOR: EnvVar = 17;
8966pub const EnvVar_ENV_VAR_LAVALIGHT_COLOR: EnvVar = 18;
8967pub const EnvVar_ENV_VAR_LAMPLIGHT_COLOR: EnvVar = 19;
8968pub type EnvVar = ::std::os::raw::c_int;
8969#[repr(C)]
8970#[derive(Debug, Copy, Clone, PartialEq)]
8971pub struct _EnvData {
8972    pub EdgeBlock: BlockID,
8973    pub SidesBlock: BlockID,
8974    pub EdgeHeight: ::std::os::raw::c_int,
8975    pub SidesOffset: ::std::os::raw::c_int,
8976    pub CloudsHeight: ::std::os::raw::c_int,
8977    pub CloudsSpeed: f32,
8978    pub WeatherSpeed: f32,
8979    pub WeatherFade: f32,
8980    pub Weather: ::std::os::raw::c_int,
8981    pub ExpFog: ::std::os::raw::c_int,
8982    pub SkyboxHorSpeed: f32,
8983    pub SkyboxVerSpeed: f32,
8984    pub SkyCol: PackedCol,
8985    pub FogCol: PackedCol,
8986    pub CloudsCol: PackedCol,
8987    pub SkyboxCol: PackedCol,
8988    pub SunCol: PackedCol,
8989    pub SunXSide: PackedCol,
8990    pub SunZSide: PackedCol,
8991    pub SunYMin: PackedCol,
8992    pub ShadowCol: PackedCol,
8993    pub ShadowXSide: PackedCol,
8994    pub ShadowZSide: PackedCol,
8995    pub ShadowYMin: PackedCol,
8996    pub LavaLightCol: PackedCol,
8997    pub LampLightCol: PackedCol,
8998}
8999#[allow(clippy::unnecessary_operation, clippy::identity_op)]
9000const _: () = {
9001    ["Size of _EnvData"][::std::mem::size_of::<_EnvData>() - 100usize];
9002    ["Alignment of _EnvData"][::std::mem::align_of::<_EnvData>() - 4usize];
9003    ["Offset of field: _EnvData::EdgeBlock"][::std::mem::offset_of!(_EnvData, EdgeBlock) - 0usize];
9004    ["Offset of field: _EnvData::SidesBlock"]
9005        [::std::mem::offset_of!(_EnvData, SidesBlock) - 2usize];
9006    ["Offset of field: _EnvData::EdgeHeight"]
9007        [::std::mem::offset_of!(_EnvData, EdgeHeight) - 4usize];
9008    ["Offset of field: _EnvData::SidesOffset"]
9009        [::std::mem::offset_of!(_EnvData, SidesOffset) - 8usize];
9010    ["Offset of field: _EnvData::CloudsHeight"]
9011        [::std::mem::offset_of!(_EnvData, CloudsHeight) - 12usize];
9012    ["Offset of field: _EnvData::CloudsSpeed"]
9013        [::std::mem::offset_of!(_EnvData, CloudsSpeed) - 16usize];
9014    ["Offset of field: _EnvData::WeatherSpeed"]
9015        [::std::mem::offset_of!(_EnvData, WeatherSpeed) - 20usize];
9016    ["Offset of field: _EnvData::WeatherFade"]
9017        [::std::mem::offset_of!(_EnvData, WeatherFade) - 24usize];
9018    ["Offset of field: _EnvData::Weather"][::std::mem::offset_of!(_EnvData, Weather) - 28usize];
9019    ["Offset of field: _EnvData::ExpFog"][::std::mem::offset_of!(_EnvData, ExpFog) - 32usize];
9020    ["Offset of field: _EnvData::SkyboxHorSpeed"]
9021        [::std::mem::offset_of!(_EnvData, SkyboxHorSpeed) - 36usize];
9022    ["Offset of field: _EnvData::SkyboxVerSpeed"]
9023        [::std::mem::offset_of!(_EnvData, SkyboxVerSpeed) - 40usize];
9024    ["Offset of field: _EnvData::SkyCol"][::std::mem::offset_of!(_EnvData, SkyCol) - 44usize];
9025    ["Offset of field: _EnvData::FogCol"][::std::mem::offset_of!(_EnvData, FogCol) - 48usize];
9026    ["Offset of field: _EnvData::CloudsCol"][::std::mem::offset_of!(_EnvData, CloudsCol) - 52usize];
9027    ["Offset of field: _EnvData::SkyboxCol"][::std::mem::offset_of!(_EnvData, SkyboxCol) - 56usize];
9028    ["Offset of field: _EnvData::SunCol"][::std::mem::offset_of!(_EnvData, SunCol) - 60usize];
9029    ["Offset of field: _EnvData::SunXSide"][::std::mem::offset_of!(_EnvData, SunXSide) - 64usize];
9030    ["Offset of field: _EnvData::SunZSide"][::std::mem::offset_of!(_EnvData, SunZSide) - 68usize];
9031    ["Offset of field: _EnvData::SunYMin"][::std::mem::offset_of!(_EnvData, SunYMin) - 72usize];
9032    ["Offset of field: _EnvData::ShadowCol"][::std::mem::offset_of!(_EnvData, ShadowCol) - 76usize];
9033    ["Offset of field: _EnvData::ShadowXSide"]
9034        [::std::mem::offset_of!(_EnvData, ShadowXSide) - 80usize];
9035    ["Offset of field: _EnvData::ShadowZSide"]
9036        [::std::mem::offset_of!(_EnvData, ShadowZSide) - 84usize];
9037    ["Offset of field: _EnvData::ShadowYMin"]
9038        [::std::mem::offset_of!(_EnvData, ShadowYMin) - 88usize];
9039    ["Offset of field: _EnvData::LavaLightCol"]
9040        [::std::mem::offset_of!(_EnvData, LavaLightCol) - 92usize];
9041    ["Offset of field: _EnvData::LampLightCol"]
9042        [::std::mem::offset_of!(_EnvData, LampLightCol) - 96usize];
9043};
9044#[link(name = "ClassiCube", kind = "dylib")]extern "C" {
9045    pub static mut Env: _EnvData;
9046}
9047pub const Weather__WEATHER_SUNNY: Weather_ = 0;
9048pub const Weather__WEATHER_RAINY: Weather_ = 1;
9049pub const Weather__WEATHER_SNOWY: Weather_ = 2;
9050pub type Weather_ = ::std::os::raw::c_int;
9051extern "C" {
9052    pub fn Env_Reset();
9053}
9054extern "C" {
9055    pub fn Env_SetEdgeBlock(block: BlockID);
9056}
9057extern "C" {
9058    pub fn Env_SetSidesBlock(block: BlockID);
9059}
9060extern "C" {
9061    pub fn Env_SetEdgeHeight(height: ::std::os::raw::c_int);
9062}
9063extern "C" {
9064    pub fn Env_SetSidesOffset(offset: ::std::os::raw::c_int);
9065}
9066extern "C" {
9067    pub fn Env_SetCloudsHeight(height: ::std::os::raw::c_int);
9068}
9069extern "C" {
9070    pub fn Env_SetCloudsSpeed(speed: f32);
9071}
9072extern "C" {
9073    pub fn Env_SetWeatherSpeed(speed: f32);
9074}
9075extern "C" {
9076    pub fn Env_SetWeatherFade(rate: f32);
9077}
9078extern "C" {
9079    pub fn Env_SetWeather(weather: ::std::os::raw::c_int);
9080}
9081extern "C" {
9082    pub fn Env_SetExpFog(expFog: cc_bool);
9083}
9084extern "C" {
9085    pub fn Env_SetSkyboxHorSpeed(speed: f32);
9086}
9087extern "C" {
9088    pub fn Env_SetSkyboxVerSpeed(speed: f32);
9089}
9090extern "C" {
9091    pub fn Env_SetSkyCol(color: PackedCol);
9092}
9093extern "C" {
9094    pub fn Env_SetFogCol(color: PackedCol);
9095}
9096extern "C" {
9097    pub fn Env_SetCloudsCol(color: PackedCol);
9098}
9099extern "C" {
9100    pub fn Env_SetSkyboxCol(color: PackedCol);
9101}
9102extern "C" {
9103    pub fn Env_SetSunCol(color: PackedCol);
9104}
9105extern "C" {
9106    pub fn Env_SetShadowCol(color: PackedCol);
9107}
9108extern "C" {
9109    pub fn Env_SetLavaLightCol(color: PackedCol);
9110}
9111extern "C" {
9112    pub fn Env_SetLampLightCol(color: PackedCol);
9113}
9114#[repr(C)]
9115#[derive(Debug, Hash, PartialEq, Eq)]
9116pub struct ResumeInfo {
9117    pub user: cc_string,
9118    pub ip: cc_string,
9119    pub port: cc_string,
9120    pub server: cc_string,
9121    pub mppass: cc_string,
9122    pub _userBuffer: [::std::os::raw::c_char; 64usize],
9123    pub _serverBuffer: [::std::os::raw::c_char; 64usize],
9124    pub _ipBuffer: [::std::os::raw::c_char; 16usize],
9125    pub _portBuffer: [::std::os::raw::c_char; 16usize],
9126    pub _mppassBuffer: [::std::os::raw::c_char; 64usize],
9127}
9128#[allow(clippy::unnecessary_operation, clippy::identity_op)]
9129const _: () = {
9130    ["Size of ResumeInfo"][::std::mem::size_of::<ResumeInfo>() - 304usize];
9131    ["Alignment of ResumeInfo"][::std::mem::align_of::<ResumeInfo>() - 8usize];
9132    ["Offset of field: ResumeInfo::user"][::std::mem::offset_of!(ResumeInfo, user) - 0usize];
9133    ["Offset of field: ResumeInfo::ip"][::std::mem::offset_of!(ResumeInfo, ip) - 16usize];
9134    ["Offset of field: ResumeInfo::port"][::std::mem::offset_of!(ResumeInfo, port) - 32usize];
9135    ["Offset of field: ResumeInfo::server"][::std::mem::offset_of!(ResumeInfo, server) - 48usize];
9136    ["Offset of field: ResumeInfo::mppass"][::std::mem::offset_of!(ResumeInfo, mppass) - 64usize];
9137    ["Offset of field: ResumeInfo::_userBuffer"]
9138        [::std::mem::offset_of!(ResumeInfo, _userBuffer) - 80usize];
9139    ["Offset of field: ResumeInfo::_serverBuffer"]
9140        [::std::mem::offset_of!(ResumeInfo, _serverBuffer) - 144usize];
9141    ["Offset of field: ResumeInfo::_ipBuffer"]
9142        [::std::mem::offset_of!(ResumeInfo, _ipBuffer) - 208usize];
9143    ["Offset of field: ResumeInfo::_portBuffer"]
9144        [::std::mem::offset_of!(ResumeInfo, _portBuffer) - 224usize];
9145    ["Offset of field: ResumeInfo::_mppassBuffer"]
9146        [::std::mem::offset_of!(ResumeInfo, _mppassBuffer) - 240usize];
9147};